PDA

View Full Version : مبتدی: تابع eval



prisa_srr
دوشنبه 16 مرداد 1391, 13:23 عصر
سلام
من میخواستم در مورد تابع eval بیشتر بدونم مثلا اینکه کارکردش اینه که یک رشته رو به صورت دستور ارزیابی می کنه کجاها میتونه استفاده بشه ؟ از لحاظ امنیتی مثلا کاربردش تو sql injection یا مدیریت محتوا مثل wordpress چیه ؟ من تو سایتای خارجی که نگاه می کردم زیاد متوجه اصل مطلب نمیشدم . اگه کسی یه توضیح کامل یا لینک فارسی و کاربردی داره معرفی کنه ممنون میشم.

desatir7316
دوشنبه 16 مرداد 1391, 13:53 عصر
شاید حداقل کمکی بکنه:http://ir.php.net/manual/en/function.eval.php

imanitc
سه شنبه 17 مرداد 1391, 10:40 صبح
تابع eval براي اجراي فرامين php که شما ميخاهيد اونا رو توي يه رشته يا متغيير بريزيد و بوقتش توي کدتون استفاده کنيد به کار ميره مثلا :

$test = 'echo "iran";';
echo $test;
eval ($test);
نتبجه :

echo "iran";
iran
اميدوارم متوجه شده باشي

prisa_srr
سه شنبه 17 مرداد 1391, 14:28 عصر
من متوجه کلیت اش هستم اما نمیفهمم کی مثلا کاربرد داره ؟میگن از لحاظ امنیتی درست نیست ازش استفاده بشه ؟ چرا ؟

imanitc
چهارشنبه 18 مرداد 1391, 12:17 عصر
استفاده از تابع eval استفاده معمولي و مرسوم نيست موارد خاص استفاده ميشه مثلا فرض کن شما يه cms داري که يک نوع محتوات php قرار دادي يعني بجاي ماژول نويسي کد php رو ميريزي توي ديتابيس بعد با اين تابع ازش استفاده ميکني دروپال دقيقا همچين چيزي داره .
به نظر من امنيت بستگي به خودت داره اگر ديتابيس هک بشه کدت هم هک ميشه و ممکن مورد سو استفاده قرار بگيره در کل استفاده خاص و محدود.

prisa_srr
چهارشنبه 18 مرداد 1391, 12:33 عصر
:متفکر: ممنون از پاسختون یه چیزایی دستگیرم شد.

eshpilen
چهارشنبه 18 مرداد 1391, 21:16 عصر
اگر منبع کدهایی که به eval میدی قابل اعتماد باشه (مثلا کدهایی که فقط خودت مستقیما تعیین میکنی)، از نظر امنیت مشکلی نداره.