大家都知道一般有表单提交需要录入数据库,不过滤的话都有被SQL注入和XSS攻击的风险。
之前并未使用过PDO来连接数据库,有听说PDO能够防SQL注入。
想请问一下大家,使用PDO连接数据库后是否还需要过滤字符串?过滤会多此一举吗?

使用PHP的PDO连接数据库后,是否不再需要进行SQL和XSS过滤?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 你知我知皆知 2024-08-05 10:36关注
以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在使用PDO连接数据库时,您不需要手动执行SQL查询或对数据进行XSS处理。 PDO将自动执行这些操作,并且在数据库结果返回时也会自动检查安全性。因此,您无需担心SQL注入或XSS攻击的问题。
然而,对于某些特定场景,您可能仍然需要额外的安全措施,例如:
- 使用预编译语句:这可以防止SQL注入,因为它们不会生成临时的SQL查询,而是直接执行已编译好的查询。
- 对于XSS,您可以考虑使用一些专门的库(如
htmlspecialchars()
),或者使用PHP内置函数htmlentities()
来避免显示恶意字符。 - 在输入验证中添加更多的检查,以确保只有预期的数据类型和内容被接受。
总的来说,如果您正在使用PDO并遵循最佳实践,那么您应该可以放心地不使用额外的过滤步骤。
解决 无用评论 打赏 举报