如何通過使用轉義字符串或其他方法防止sql注入?我確實有一些代碼,但我不知道該怎麼辦?任何幫助?PHP SQL注入預防
<?php
if (isset($_POST['submit'])){
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysql_query($query)or die(mysql_error());
$num_row = mysql_num_rows($result);
$row=mysql_fetch_array($result);
if($num_row > 0) {
header('location:dashboard.php');
$_SESSION['id']=$row['user_id'];
}
else{ ?>
<div class="alert alert-danger">Access Denied</div>
<?php
}}
?>
你首先需要驗證/清理你的POST變量,並且首先升級到mysqli/PDO而不是mysql – EternalHour 2014-11-03 08:05:50
,使用明文密碼是邪惡的。 Id建議熟悉一些orm,而不是重新發明輪子 – Serg 2014-11-03 08:07:34
不要使用mysql。此擴展從PHP 5.5.0開始已棄用,並將在未來刪除。相反,應該使用MySQLi或PDO_MySQL擴展。關於你的問題,[檢查這個答案](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)。 – jherran 2014-11-03 08:07:39