• 0
mr.assassin

كيف أحمي نفسي من ثغرة sql

سؤال

السلام عليكم و رحمة الله

 

كبف أحمي نفسي من ثغرة sql في هذا الكلاس

<?phpsession_start();class mysql{		private $localhost="localhost";	private $db_user="root";	private $db_password="vertrigo";	private $db_name="sql";	function __construct(){	$connect=mysql_connect($this->localhost,$this->db_user,$this->db_password);	mysql_select_db($this->db_name);	}	function sql(){	$username=$_POST['username'];	$password=$_POST['password'];		mysql_real_escape_string($username);	mysql_real_escape_string($password);		$sql="SELECT * FROM members WHERE name='$username' AND password='$password'";$query=mysql_query($sql);$num=mysql_num_rows($query);if ($num==1){	$_SESSION['username']="username";	$_SESSION['password']="password";	header("location:admin/admin.php");	    	}	else{	echo"اسم المستخدم أو الباسوورد خاطأ";	}	}		}		$use=new mysql;$use->sql();?>

check.php

login.php

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

السلام عليكم،

 

انصح استعمل PDO للاتصال بقاعدة البيانات باستخدام prepared statement

ملاحظة: mysql_connect تم التخلي عنها في الاصدارات الجديدة من PHP

 

لمعالجة هذا الكلاس قم بتعديل السطرين

mysql_real_escape_string($username);mysql_real_escape_string($password);

لتصبح

$username = mysql_real_escape_string($username);$password = mysql_real_escape_string($password);
تم تعديل بواسطه choclatboy
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

لسلام عليكم و رحمة الله و بركاته

 

شكرا لك على تفاعلك مع ممشاكلي أخي ساعدتنب كثيرا^_^

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .