PDA

View Full Version : لطفا امنیت این اسکریپت را چک کنید



houtanal
چهارشنبه 24 تیر 1383, 17:02 عصر
این اسکریپت ورود کاربر است
لطفا اگر ایرادی دارد به من بگویید

Login page:

<?php
$conn=mysql_connect("localhost","root","pass") or die("Mysql Erorr:".mysql_error());
$db=mysql_select_db("iuc",$conn) or die("Mysql Erorr:".mysql_error());
$username=$_POST['username'];
$password=$_POST['password'];
$auth = false;
function Encrypt($string) {
$crypted = md5($string);
return $crypted;
}
if(isset($username) and empty($username)==false and isset($password) and empty($password)==false){
$auth = false;
$result = mysql_query("select * from users where username = '$username'",$conn) or die("Cannot do mysql query!");
$array = mysql_fetch_array($result) or die("Cannot fetch array");
if ($array[2] === (Encrypt($password))) {
$auth = true;
if($auth=true and $auth!=false){
$randsession=mt_rand();
session_start() or die("Error on starting session");
session_register('randsession') or die("Error on registering session on rand");
session_register('username') or die("Error on registering session on username");
echo "Now Your athentication process complete succesfuly an you can go to input data page : <a href=input-data.php>GO!</a>";
echo "you can loged in<p>";
mysql_close($conn);
}
}

else echo "false";
}
mysql_close($conn);
?>



<?php
session_start();
$conn=mysql_connect("localhost","root","pass") or die("Mysql Erorr:".mysql_error());
$db=mysql_select_db("iuc",$conn) or die("Mysql Erorr:".mysql_error());
.............
if(session_is_registered('username') and session_is_registered('randsession')){
.............
...............
.................
.........

<?

oxygenws
چهارشنبه 24 تیر 1383, 18:16 عصر
سلام،

من که مشکلی ندیدم، فقط بهتره بخشی که با سشن کار می کنی رو به جای اشارهء مستقیم به نام سشن از $_SESSION استفاده کنی.

بهتره این مطلبی که چند نفری اینجا نوشتیم رو ببینی، البته قصد دارم وقتی کامل شد به صورت مقاله بدیم بیرون :)
http://forum.majidonline.com/viewtopic.php?t=12137

موفق باشید، امید

houtanal
چهارشنبه 24 تیر 1383, 18:22 عصر
درست می فرمایید