我用PDO读/为了防止SQL注入进入MySQL数据对于PHP 5.6和PDO,是否需要转义角色?
$stmt = $DBH->prepare("SELECT * FROM T_Users WHERE User_Name = :UN");
$stmt->bindParam(':UN', $user_name);
$stmt->execute();
中我应该在数据库中输入他们之前或在显示数据库中的数据之前逃脱字符的任何原因浏览器吗?通过将JavaScript代码记录到我的数据库中,恶意的人可以利用我的网站或其他用户吗?
谢谢!
你应该在这种情况下不要手动转义任何东西。数据绑定不会转义,如果您另外手动转义,则最终会出现“双重转义”字符。不是你想要的。这一切都在文档中进行了解释。 – arkascha
通过使用Prepared,Parameterized Queries,您已经在处理SQL注入。没有必要逃脱任何东西了。 –
如果恶意用户选择他的用户名为JavaScript代码 - 如果用户的用户名显示在浏览器中,会伤害其他用户吗?也许我只是太偏执...... – Mike