PDA

View Full Version : کنترل ورودی و جلوگیری از حملات injection



HOSSEINONLINE7
یک شنبه 05 شهریور 1391, 18:23 عصر
سلام توابعی که بشه با اونا امنیت ورودی های کاربر را افزایش بدیم چیست ؟

تابع mysql_real_escape_string و mysql_escape_string کارشون چی هست ؟

get_magic_quotes_gpc چیست ؟

کد زیر را لطف کنید برای من توضیح بدهید نفهمیدم توی فراخوانی تابع دومی چکار میکنه .


function escape($str, $connection=null)
{
if(get_magic_quotes_gpc())
$str = stripslashes($str);

if(function_exists('mysql_real_escape_string') && $connection)
return mysql_real_escape_string($str, $connection);
else
return mysql_escape_string($str);
}

تشکر

HOSSEINONLINE7
دوشنبه 06 شهریور 1391, 08:39 صبح
دوستان کسی نمیتونه راهنمایی کنه ؟

wallfa
دوشنبه 06 شهریور 1391, 12:36 عصر
دوست عزیز این توابع مخصوص
جلوگیری از وارد نمودن کد های اسکیوال از طریق متغییر هایی که میخواهد داخل دیتابیس ذخیره بشه و یا فراخوانی بشه است . یعنی متغییر شما رو بررسی میکنه ببینه آیا داده های اون متغییر خطر افرین است یا نه اگر باشه اون داده اصلاح میکنه !

بهترین راه حل برای جلوگیری از امنیت در برابر اسکیو ال انجیکشن اینه که شما باید هر ورودی که فراخوانی و یا ذخیره می کنید قبل بررسی کنید ببینید اون نوعی و اون مقداری که شما می خواهید هست یا نه ! اینطوری کسی نمیتونه بهتون اسکیوال انجیکشن بزنه !

یادتون باشه امنیت یه مقدار نصبی !

HOSSEINONLINE7
دوشنبه 06 شهریور 1391, 15:15 عصر
دوست عزیز این توابع مخصوص
جلوگیری از وارد نمودن کد های اسکیوال از طریق متغییر هایی که میخواهد داخل دیتابیس ذخیره بشه و یا فراخوانی بشه است . یعنی متغییر شما رو بررسی میکنه ببینه آیا داده های اون متغییر خطر افرین است یا نه اگر باشه اون داده اصلاح میکنه !

بهترین راه حل برای جلوگیری از امنیت در برابر اسکیو ال انجیکشن اینه که شما باید هر ورودی که فراخوانی و یا ذخیره می کنید قبل بررسی کنید ببینید اون نوعی و اون مقداری که شما می خواهید هست یا نه ! اینطوری کسی نمیتونه بهتون اسکیوال انجیکشن بزنه !

یادتون باشه امنیت یه مقدار نصبی !

عزیز خودم میدونم این توابع برای چی هستن لطفا برام این کدها را تحلیل کنید که الان دارن چی کار میکنن...

m-i-l-s-o-n
دوشنبه 06 شهریور 1391, 17:01 عصر
get_magic_quotes_gpc()
اگه magic_quotes_gpc خاموش باشه 0 و اگه روشن باشه 1 بر می گردونه . از ورژن 5.4 هم همیشه FALSE بر می گردونه.
حالا اگه magic_quotes_gpc روشن باشه :

When magic_quotes are on, all ' (single-quote), " (double quote), \ (backslash) and NUL's are escaped with a backslash automatically.
دو تابع بعدی با خودت سرچ کن