PDA

View Full Version : سیستما لاگین معتبر تر



olampiad
پنج شنبه 08 مرداد 1394, 21:55 عصر
سلام و خسته نباشید به دوستان عزیز
من همیشه هنگام لاگین فقط id کاربر رو چک میکردم.
مثل کد زیر



$_SESSION['user_id']=$user['id'];if(!isset($_SESSION['user_id'])){ echo 'شما کاربر جعلی هستید'; die;}


همینطور که خودتون میدونید هکر ها میان و session ها رو هک میکنن.
حالا روشی که به نظرم بهتره اینه:



$id=md5($user['id']);$ip =md5($_SERVER['REMOTE_ADDR']);$ua=md5($_SERVER['HTTP_USER_AGENT']);
$_SESSION['user_id']=$id;$_SESSION['ip']=$ip;$_SESSION['ua']=$ua;
if(!isset($_SESSION['user_id'])){ echo 'شما کاربر جعلی هستید'; die;}if(!isset($_SESSION['ip'])){ echo 'شما کاربر جعلی هستید'; die;}if(!isset($_SESSION['ua'])){ echo 'شما کاربر جعلی هستید'; die;}


اگه هکر بیاد و user_id رو هک کنه و وارد بشه ولی دیگه نمیتونه ip و نام مرورگر رو که هک کنه و بفهمه.
به نظرتون این روش من درسته؟
از ی نظری هم این کارا باعث میشه که سرور پردازش های زیادی رو انجام بده و سرعتش بیاد پایین.
میشه نظرتون رو در این مورد بگید.
مرسی

Mohammadsgh
جمعه 09 مرداد 1394, 00:56 صبح
از تابع session_regenarate_id()اگه اشتباه نکنم استفاده کنید که آیدی سیشن دگرگون بشه و ip , user aget کاربر رو بریزید تو سیشن اگه فرق کرد sesion_destroy کنید