2010-09-18 73 views
0

由于我使用PDO来防止SQL注入,是否仍需要应用PHP的数据过滤器以确保输入是正确的格式? PDO是否保护所有类型的注射?使用过滤日期过滤用户输入

$STH = $DBH->prepare("SELECT * from jem WHERE email=? AND pass=? LIMIT 0,1"); 

任何更多的提示登录脚本将是帮助。

回答

1

在使用PDO之前,我想你正在验证你的数据(例如使用一个验证过滤器),然后在将它插入到你的数据库之前将其转义。现在,你只需要(但仍然需要)做第一件事。

关于你的第二个问题,PDO保护你免受SQL注入。在输出之前,你仍然必须转义html,以防止js代码注入。

+0

是的,我会使用“HTML Purifier”去除不相关的HTML和所有服务器端的systax。 – proyb3 2010-09-18 21:50:08

+0

但你的意思是,我仍然需要使用过滤数据功能? – proyb3 2010-09-18 21:53:54

+0

“过滤数据功能”:这是什么?一组函数来验证/清理数据?然后是...一个名为filter_data()的函数?我不知道这个功能。应该使用HTML Purifier(PDO不知道任何关于HTML的内容,所以它不能处理与之相关的安全风险) – greg0ire 2010-09-18 22:41:56