• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
عدم ورود به admin هنگام md5 کردن pass
#1
سلام خدمت دوستان عزیز
من توی کد ورود به قسمت مدیریت وقتی password رو hash میکنم,دیگه وارد قسمت مدیریت نمیشه با اینکه مقدار موجود در دیتابیس دقیقا md5 شده عبارتیه که وارد میکنم.کد اینه:
کد پی‌اچ‌پی:
<?php
//Starting the session...
session_start();
//Get The data from form.
$User $_POST['UserName'];
$Pass $_POST['Password'];
//Hashing the password...__________ERROR IS HERE__________
$Pass md5($Pass);
//Checking the user and pass...
$sql "SELECT `pass`
FROM `admin`
WHERE `user` = '
$User'";
//Connecting to db...
include('../config.php');
ConnectToDB();
$Result mysql_query($sql);
if(
mysql_num_rows($Result)==&& mysql_result($Result,0)==$Pass) {
    
$_SESSION['UserName'] = $User;
    
$ClientString $_SERVER['HTTP_USER_AGENT'] .$_SERVER['REMOTE_ADDR'];
    
$_SESSION['ClientStr'] = md5($ClientString);
    
header("Location: admin.php");
}
else {
    die(
'The specified username and/or password is incorrect!');
}
?>
ممنون.
کار من این است که کاریم نیست,عاشقم از عشق تو عاریم نیست
تا که مرا شیر غمت صید کرد,جز که همین شیر شکاریم نیست
باده ات از کوه سکونت بَرَد,عیب مکن زان که وقاریم نیست
مولانا جلال الدین محمد
  پاسخ
تشکر شده توسط :
#2
query رو اصلاح کن!
کد پی‌اچ‌پی:
$sql "SELECT *
FROM `admin`
WHERE `user` = '
$User' AND `pass`='$pass'"

حالا ببین چنین یوزری وجود داره؟
  پاسخ
تشکر شده توسط : molana_rumy
#3
oia عزیز ممنون,اینکار رو کردم ولی بازهم همون اتفاق افتاد. در ضمن در یک آموزش اینطور گفته بود که از لحاظ امنیتی خوب نیست که بررسی pass را به mysql بسپاریم و باید اینکار با کدنویسی انجام شود.ممنون میشم کسی کمک کنه.
کار من این است که کاریم نیست,عاشقم از عشق تو عاریم نیست
تا که مرا شیر غمت صید کرد,جز که همین شیر شکاریم نیست
باده ات از کوه سکونت بَرَد,عیب مکن زان که وقاریم نیست
مولانا جلال الدین محمد
  پاسخ
تشکر شده توسط :
#4
(۱۳۸۹ اسفند ۱۹, ۰۱:۰۳ ق.ظ)molana_rumy نوشته: oia در ضمن در یک آموزش اینطور گفته بود که از لحاظ امنیتی خوب نیست که بررسی pass را به mysql بسپاریم و باید اینکار با کدنویسی انجام شود.ممنون میشم کسی کمک کنه.

نه دوست عزیز
شما قبل از اینکه کوئری رو بسازید در واقع امنش کردید و خروجی رو به mysql می دید

در ضمن این کدتون هم درست نیست. به این صورت عمل کنید:
کد:
$sql = "SELECT * FROM `admin` WHERE `user` = '".$User."' AND `pass`='".md5($pass)."'";
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : molana_rumy


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان