我还能做些什么来阻止自己进行XSS注射? SQL注入?

时间:2010-08-15 08:41:49

标签: php mysql sql-injection xss

如果我的网站上线了(不要认为它会,那只是一个学习练习)。

我一直在使用mysql_real_escape_string();来自POST,SERVER和GET的数据。 另外,我一直在使用intval();在必须只是数字的字符串上。

我认为这涵盖了我从 sql注入?正确?我可以做更多吗?

但是,我不确定它是如何提供的(如果它提供任何保护)来自 XSS注入

有关如何打击这两种攻击形式的更多信息表示赞赏。

2 个答案:

答案 0 :(得分:5)

  

我认为这包括我从sql注入?正确的吗?

没有。它会使您的数据混乱不堪。

  

我可以做更多吗?

是。您可以保护您的代码免受SQL注入 这是 a brief explanation I've made already
只有我必须补充一点,你不应该破坏你的源数据阵列 POST数组与SQL有关。数据可能会进入电子邮件,HTML表单,文件,在线服务等。为什么要用SQL保护来处理它? 另一方面,您可能不是从POST而是从文件,在线服务和其他查询中获取数据 因此,您必须保护不是源数组,而是进入查询的实际数据

说到XSS,再没有简单的普遍规则 但一般情况下,您必须使用htmlspecialchars($data,ENT_QUOTES);作为文本输出的每个不受信任的数据,并在某些特殊情况下使用其他类型的验证,例如文件名

答案 1 :(得分:-1)

使用硬编码准备的查询