olampiad
پنج شنبه 08 مرداد 1394, 22: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 و نام مرورگر رو که هک کنه و بفهمه.
به نظرتون این روش من درسته؟
از ی نظری هم این کارا باعث میشه که سرور پردازش های زیادی رو انجام بده و سرعتش بیاد پایین.
میشه نظرتون رو در این مورد بگید.
مرسی
من همیشه هنگام لاگین فقط 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 و نام مرورگر رو که هک کنه و بفهمه.
به نظرتون این روش من درسته؟
از ی نظری هم این کارا باعث میشه که سرور پردازش های زیادی رو انجام بده و سرعتش بیاد پایین.
میشه نظرتون رو در این مورد بگید.
مرسی