这已经是漫长的一天,但是我似乎无法选择哪个更好,或者我应该同时使用这两者。

基本上,我应该使用什么来清理用户输入的值。是htmlentities还是preg_match函数?

然后,如果将值输入到sql查询中,则将使用mysql_real_escape_string函数,但直到将其更改为准备好的语句后,我才能删除该值。

还是同时使用htmlentities和preg_match是一个好主意?

最佳答案

您为什么不只是在previous question中问这个问题呢?

在进行任何转义之前,请使用preg_match,以确保数据符合期望的白名单。然后使用转义符插入数据库。这称为深度防御(即,如果攻击者可以突破第一层,则可以进行一层以上的安全检查)。

09-26 10:25