Register Globals چیه و چرا خطرناکه؟
#1
Note 
سلام
میخواستم بدونم این Register Globals تو پی اچ پی چیه که همه میگن خطرناکه و باید چیکارش کرد تا کدمون امن بشه؟
ممنون

پاسخ
#2
Note 
سلام
وقتی register_globals فعال باشه میشه از URL مقدار یک متغییر توی اسکریپت رو تغییر داد که این بسیار خطرناکه
مثال:
کد php:
<?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

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

کاربرانِ درحال بازدید از این موضوع:   1 مهمان