سلام
میخواستم بدونم این Register Globals تو پی اچ پی چیه که همه میگن خطرناکه و باید چیکارش کرد تا کدمون امن بشه؟
ممنون
0
سلام
وقتی register_globals فعال باشه میشه از URL مقدار یک متغییر توی اسکریپت رو تغییر داد که این بسیار خطرناکه
مثال:
<?php
if(user_is_admin($user))
{
$authorized = true;
}
if($authorized)
{
echo "You are in god mode!";
}
else{
echo "Your are a user!";
}
?>
این کد مثلا چک میکنه که آیا کابر فعلی admin هست یا خیر و این رو تابعuser_is_admin مشخص میکنه و اگر کاربر فعلی ادمین بود مقدار $authorized رو True میکنه.
حالا اگر register_globals فعال باشه میشه به این صورت براحتی سطح دسترسی رو به ادمین رسوند:
file.php?authorized=1
هر چند این ویژگی در ورژن های جدید PHP غیر فعاله اما میتونید با چک کردن فایل php.ini یا گرفتن ()phpinfo فعال یا غیر فعال بودن این ویژگی رو متوجه بشید.
برای غیر فعال کردن باید این کد رو در فایل php.ini بذارید: register_globals = Off
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!