Register Globals چیه و چرا خطرناکه؟

بازدید49.8kپست ها1آخرین فعالیت10 سال پیش
0
0

سلام
میخواستم بدونم این 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

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

خوش آمدید

برای طرح سوال، ایجاد بحث و فعالیت در سایت نیاز است ابتدا وارد حساب کاربری خود شوید. در صورتی که هنوز عضو سایت نیستید میتوانید در عرض تنها چند ثانیه ثبت نام کنید.