View Full Version : درخواست Function فیلتر مانند برای جلوگیری از Sql Injection {پی اچ پی}
iAmirZ
جمعه 31 مرداد 1393, 18:14 عصر
درود
بنده به یک فانکشن نیاز دارم که ورودی های POST کاربر را ازش عبور بدم و اگه کد SQL یا هر کد مخرب دیگه ای توش یافت شد فیلتر کنه
ارتباط هم از نوع new mysqli هست
ممنون
arash691
جمعه 31 مرداد 1393, 18:57 عصر
از تابع real_escape_string مربوط به mysqli استفاده کن ...
iAmirZ
جمعه 31 مرداد 1393, 20:15 عصر
مطمعنید همین یک تابع کافی هست ؟
۱۰۰ ٪ می خیالم از بابت Sql Injection راحت باشه ؟
arash691
جمعه 31 مرداد 1393, 20:22 عصر
نه هیچ صددرصدی تو امنیت وجود نداره ... اینجا رو بخون
http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php
iAmirZ
جمعه 31 مرداد 1393, 20:23 عصر
من وقتی ازش توی لوکال استفاده می کنم هیچی بر نمی گردونه
omidabedi
جمعه 31 مرداد 1393, 20:36 عصر
دیگه توابع مربوط به اینکار deprecated شده و پشتیبانی نمیشه در php5.3
بهتره از mysqli و بهتر اینکه از PDO استفاده کنید
saeed-71
جمعه 31 مرداد 1393, 20:46 عصر
شما از pdo استفاده خیالتم اسودست.
یادگیریشم سخت نیست.
Mori Bone
جمعه 31 مرداد 1393, 20:50 عصر
از pdo استفاده کن دگ نمی خواد از تابع عبور بدی خودش یه prepare داره و بس
iAmirZ
شنبه 01 شهریور 1393, 14:26 عصر
ممنون از دوستان
ولی الان دیگه خیلی دیر هست
اگه بخوام به PDO تبدیل کنم باید قسمت عظیمی از کد را تغییر بدم
راه دیگه وجود داره؟
تابع mysql_real_escape_string برای من کار نمی ده اخه :|
arash691
شنبه 01 شهریور 1393, 14:28 عصر
از شی mysqli که تعریف کردی متد real_escape_string رو فراخوانی بکن ... اینی که گفتی مربوط به mysql هستش نه mysqli
Mori Bone
شنبه 01 شهریور 1393, 14:28 عصر
تابع mysql_real_escape_string برای من کار نمی ده اخه :|
یعنی چی؟ مشکل چیه؟
hamedarian2009
شنبه 01 شهریور 1393, 15:03 عصر
آقا آرش تو پست اول گفتن دیگه دقت کن ازین تابع mysqli_real_escape_string (http://ir2.php.net/manual/en/mysqli.real-escape-string.php) استفاده کن
iAmirZ
شنبه 01 شهریور 1393, 15:06 عصر
یعنی چی؟ مشکل چیه؟
مثلا به این صورت که قرار بدم
function clean($str) {
$clean = mysql_real_escape_string($str);
return $clean;
}
echo $clean($_POST['test']);
چیزی را echo نمی کنه
سفید :|
arash691
شنبه 01 شهریور 1393, 15:09 عصر
دوست عزیز شما از کدوم روش برای اتصال به db دارید استفاده میکنید ؟ mysql یا mysqli ؟
نمونه کد :
<?php
$con = new mysqli('localhost','root','','db_name');
$field = $con->real_escape_string($_POST['name']);
$result = $con->query("SELECT * FROM `tbl_name` WHERE `name` = '{$field}' ");
?>
iAmirZ
شنبه 01 شهریور 1393, 15:13 عصر
از شی mysqli که تعریف کردی متد real_escape_string رو فراخوانی بکن ... اینی که گفتی مربوط به mysql هستش نه mysqli
ممنون با گفته شما درست شد :x
پستتون را ندیده بودم
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.