یک کم بیشتر تو نت تحقیق کردم یه جایی یه نکته رو دیدم که پیش بینی هام رو تایید کرد..استفاده از این تابع باعث افزایش امنیته البته برای کسایی که حواس پرتن...نوشته رو میزارم بقیه استفاده کنن
ه خاطره تلخ هم در مورد رعایت یه مسئله امنیتی بگم براتون, من تو یه پروژه ای برای Session صفحه مدیر از headerاستفاده کرده بودم که اگه سشن درست نبود به صفحه خروج ریدایرکت بشه! کاری که همه می کنند,
کد PHP:
if(!isset($_SESSION['secret']))
{
header(“location: logout.php”);
……….
(تو پست بعدی یه سری مسائل امنیتی در مورد ورود امنت تر و استفاده همزمان از Session و کوکی هامی نویسم)
خوب طبق بالا اگه کسی مستقیم وارد صفحه مدیر میشد ولی لاگین نکرده بود صفحه منتقل میشد! بعد دیدم یکی از دوستام ایمیل زده می خنده می گه من بدون لاگین وارد صفحه میشم!!
بعد که بررسی کردم دیدم فایل کانفیگ با Notepad ویندوز ویرایش شده بود و غیر استاندارد ذخیره شده بود و به اصطلاح دارای BOM شده بود یعنی خروجی HTML یه کارکتر خالی میفرستاد و این یعنی ارسال header !! برای همین header دوم ارسال نمیشد و هر کسی میتونست تو ادمین واسه خودش دور بزنه راه حلش هم ساده هست استفاده از تابع exit(); !
وقتی ما از تابع headerاستفاده می کنیم یعنی با ادامه کد کاری نداریم پس برنامه رو exit میکنیم که اگه سهوا هیدر ارسال نشد لا اقل دسترس هم نداشته باشند! مثل :
کد PHP:
if(!isset($_SESSION['secret']))
{
header(“location: logout.php”);
exit();
…