نقل قول نوشته اصلی توسط jahromy نمایش پست ها
با سلام
کدی که برای صفحه لاگین نوشتم صحیح اجرا می شود
ولی به محض بکارگیری تابع hash درون کدها دچار مشکل می شوم بطوریکه وارد شرط if تعریف شده نمی شود و در هر صورت else را اجرا می کند.
اشکال کار را چطور رفع کنم



کد PHP:
$password hash("sha512",$password
کد PHP:

$res 
mysql_query($query$link);
        
$row mysql_fetch_array($res);
        if (
mysql_num_rows($res) == '1')
         {
            
session_start();
            
$_SESSION['username'] = $_POST['si_user'];
            
$_SESSION['password'] = $_POST['si_user'];
            
HEADER("LOCATION: home.php");
         }
        else
         {
            echo 
"Error User";            
         } 
سلام
لطفا کویری تون رو هم قرار بدید بررسی کنم
مواردی که باید تغییر بدید اینا هستن:
یک اینه ز توابع mysql_* استفاده نکنید چون بزودی منقضی میشه
دو تنها از هش استفاده نکنید و salt رندوم هم اضافه کنید
سه هش رو در کد پی اچ پی چک نکنید و در کویری چک کنید چون اگر در پی اچ پی چک کنید عملگر == به راحتی با حمله timing attack پسورد مشخص میشه و باید از تابع hash_eqal استفاده کنید
چهار در صورتی که هش رندوم رو اضافه کنید صد در صد باید در کویری مقدار هش رو چک کنید که اینجوری timing_attack هم نمیخوره و امنیت پسوردها هم بالا میره.
پنج درسته امنیت تابع md5 چند ساله مورد بحث هست ولی سرعتش از توابع sha بیشتره و با هش رندوم امنیت قابل قبولی خواهید داشت
موفق باشید