PDA

View Full Version : یک مشکل با تابع mysql_real_escape_string



af6900
شنبه 13 اسفند 1390, 11:19 صبح
$UName=$_POST['UserName'];
$UName=mysql_real_escape_string($UName);
echo $UName ;


با این کد می خوام مقدار ورودی از کار بر را کنترل کنم تا نتونه سایت رو با sql injection هک کنه این کد تو لوکال کار میکنه مشکلی نداره ولی وقتی منتقل میکنم رو هاست کار نمی کنه خروجی به من نمیده.
ممنون میشم کمکم کنید

MMSHFE
شنبه 13 اسفند 1390, 12:32 عصر
این نکات رو درمورد کار با mysql_real_escape_string درنظر داشته باشین:
1- با استفاده از تابع function_exists قبلش مطمئن بشین که این تابع روی سرورتون وجود داره چون در سرورهای قدیمی نصب نیست.
2- قبل از استفاده از این تابع، باید حتماً یک اتصال به MySQL برقرار کرده باشین.
3- درمورد رشته های فارسی، باید قبل از این تابع از ;('mysql_charset('utf8 استفاده کنید تا کارکترهای فارسی رو مجاز بدونه و اونها رو Escape نکنه. استفاده از ;(''\mysql_query('SET NAMES \'utf8 کافی نیست.
موفق باشید.