PHP和PDO阻止Javascript注入

PHP和PDO阻止Javascript注入,php,javascript,pdo,code-injection,Php,Javascript,Pdo,Code Injection,我有一个利用PDO用PHP编写的网站。我正在使用bindParam()函数绑定到sql insert查询: ("insert into Table (id, date, data) VALUES (?, ?, ?)") 但是我可以插入一个包含 "<script>window.location="google.com"</script>" “window.location=“google.com” 如何预防 谢谢 假设你的意思是 <script>windo

我有一个利用PDO用PHP编写的网站。我正在使用bindParam()函数绑定到sql insert查询:

("insert into Table (id, date, data) VALUES (?, ?, ?)")
但是我可以插入一个包含

"<script>window.location="google.com"</script>"
“window.location=“google.com”
如何预防

谢谢

假设你的意思是

<script>window.location="google.com"</script>
window.location=“google.com”
您应该担心行显示上的注入保护,因为您不想用HTML实体填充数据库

在显示数据库内容的页面上使用
htmlspecialchars()
[1]


[1] PDO不会阻止你这么做。您需要自己处理字符串:

  • 如果您根本不需要
    标记,请使用
  • 如果您想要这些标记,但不想执行它们,那么使用

  • 什么意思?我不应该首先阻止它们进入数据库吗?好吧,您可以在输入到数据库时过滤,也可以在输出到浏览器时过滤,只要确保不过滤两次就可以了。目前我的偏好是对输出进行过滤,以免数据库中充斥着HTML实体。