PDA

View Full Version : نیاز به شرح یه کد مختصر



Milad_ATM
دوشنبه 30 فروردین 1389, 14:34 عصر
با سلام .

دوستان درک کد زیر برای من مشکله و نمی خوام همینجوری از روش رد بشم نیاز به توضیحاتی درباره این کد دارم :


function find_product($id) {
$query = sprintf("SELECT * FROM products WHERE products.id = '%s'",
mysql_real_scape_string($id));
$result = mysql_query($query);
$row = mysql_fetch_array($result);
return $row;
}


کلا در مورد دستور sprintf ، mysql_real_scape_string و اینکه چرا از %s استفاده شد نیاز به راهنمایی دارم .

با تشکر

trade_mark
دوشنبه 30 فروردین 1389, 17:26 عصر
جهت رعایت موارد امنیتی ، هیچ وقت به متغییر های که از طرف کاربران مقدار دهی می شوند (POST_$) اعتماد نکنید!
هنگام خواند از بانک اطلاعاتی از تابع mysql_real_escape_string (http://ir.php.net/mysql_real_escape_string) استفاده کنید و از تابع htmlspecialchars (http://ir.php.net/htmlspecialchars) زمانی که خروجی html تولید می کنید.
%s یعنی حرف اول کاراکتر s باشد

Milad_ATM
دوشنبه 30 فروردین 1389, 19:00 عصر
%s رو اصلا متوجه نشدم ، چون products.id تنها id پست ها ذخیره می شه !


جهت رعایت موارد امنیتی ، هیچ وقت به متغییر های که از طرف کاربران مقدار دهی می شوند (POST_$) اعتماد نکنید!

این توضیح برای چه قسمتی بود ؟!

Reza1607
چهارشنبه 01 اردیبهشت 1389, 10:28 صبح
%s برای این که به تابع sprintf بفهمونه که اینجا قراره رشته قراربگیره دقیقا مثل دستور printf در c++

payamsp
چهارشنبه 01 اردیبهشت 1389, 12:32 عصر
از mysql_real_scape_string برای جلوگیری ار حملات sql injection استفاده شده
در مورد sprintf هم بهتر بود به جای s% از d% استفاده میشد چون id عدد هست .