【发布时间】:2010-11-06 09:09:00
【问题描述】:
在 XAMPP 中使用 PHP 5.2.6:
我阅读了有关 sql 注入 here 的信息,并使用以下登录表单进行了尝试:
<html><body>
<form method='post' action='login.php'>
<input type='text' name='user'/>
<input type='text' name='pass'/>
<input type='submit'/>
</form>
</body></html>
和php代码:
<?php
$user = $_POST['user'];
$pass = $_POST['pass'];
$query = "Select * from users where user='$user' AND pass='$pass'";
echo $query;
mysql_connect('localhost','root','');
mysql_select_db('test');
$res = mysql_query($query);
if($res) $row = mysql_fetch_assoc($res);
if($row) echo 'yes';
?>
我发现,$pass 变量已经转义了所有特殊字符。
那么,PHP 5.2.6 中是否不需要使用 mysql_real_escape_string 呢?
【问题讨论】:
标签: php mysql-real-escape-string