PDA

View Full Version : مشکل امنیتی کد لاگین



mostafa612003
دوشنبه 28 مرداد 1392, 12:22 عصر
سلام
من در فرمم از کد امنیتی برای ورود کاربر استفاده کردم
آیا هکرها می تونند بدون وارد کردن کد امنیتی و از طریق وارد کردن آدرس لاگین کنند؟
خط اول if مربوط به چک کردن کد امنیتی می باشد.

آیا کد من در خطر sqlinjection هستش؟



if (($_SESSION['security_code'] == $_POST['security_code']) and (!empty($_SESSION['security_code'])))
{


session_register("license");
session_register("userid");
session_register("fla");
$_SESSION['userid']=0;
$_SESSION['license']="";

$username=$_REQUEST['username'];
$password=$_REQUEST['password'];
$_SESSION['codem']= $username;


$p=md5($password);
if ($p=="913a4d6ab5c400d9cd09bd30da601919")
{

$Query="SELECT * FROM users where uName='".$username."' and id>7735";

}
else
{
$Query="SELECT * FROM users where uName='".$username."' AND pass='".$password."' and id>7735";
}


خیلی متشکرم

navid3d_69
دوشنبه 28 مرداد 1392, 13:14 عصر
کد رو توی تگ php بزارین تا بشه خوند

Unique
دوشنبه 28 مرداد 1392, 16:05 عصر
بله کد شما به راحتی inject میشه ! شما باید مقدار username و بقیه پارامترها (البته توی این مثال چون password را md5 میکنید مشکلی پیش نمیاره) را به درستی escape کنید و یا با استفاده از mysqli و pdo از parameterized query ها استفاده کنید.

mtnam1372
دوشنبه 28 مرداد 1392, 21:32 عصر
بله عزیزم خیلی راحت میشه به جداول رسید حتما مقاله که ادرسش در امضام هست رو بخون

engmmrj
سه شنبه 29 مرداد 1392, 00:10 صبح
بهتره این تاپیک رو با دقت مطالعه فرمایید :
http://forum.iranphp.org/Thread-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D9%86%D9%88%D8%A7%D8%B9-%D8%AD%D9%85%D9%84%D9%87-%D9%87%D8%A7%DB%8C-%D9%86%D9%81%D9%88%D8%B0-%D9%88-%D8%B3%D9%88%D8%A1%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D 8%AF%D9%87-%D8%A7%D8%B2-%D8%B5%D9%81%D8%AD%D8%A7%D8%AA-%D9%88%D8%A8-%D8%A8%D9%87-%D8%B1%D9%88%D8%B2%D8%B4%D8%AF