使用PHP5.2.6在XAMPP:
我读了关于sql注射 在这里, 并试图与下登录的形式:

<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 code:

<?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';
?>

我发现了什么,美元的通过变量已经有所有的特殊字符逃脱。因此,没有必要使用mysql_真的_逃脱_string PHP5.2.6然后呢?

其他提示

价值观可以逃脱,由于 魔术的报价 正在启用在你的服务器结构。魔术的报价被认为是非常坏,基本上为确切的理由。它是不安全的依赖功能,可以或不可以上来自动地逃避你进入的数据。它是 很多 更好地做到它自己在运行时间。

更多信息神奇的报价,并为什么他们不良,以及如何禁止他们,看看这些所以问题的答案:

没有,我不认为你就在这里。无论PHP的神奇逃脱在这个例子中的特殊字符,解释是不会执行的 MySQL的具体的转义您询问参数。

我认为这是极有可能有在此代码中的漏洞。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top