如果我的网站上线(不认为它会,它只是一个学习练习).
我一直在使用mysql_real_escape_string(); 来自POST,SERVER和GET的数据.另外,我一直在使用intval(); 在必须只是数字的字符串上.
我认为这包括我从sql注入?正确?我可以做更多吗?
但是,我不确定它是如何提供的(如果它提供任何保护)来自XSS注射?
有关如何打击这两种攻击形式的更多信息,我们表示赞赏.
我认为这包括我从sql注入?正确?
不,这会让您的数据变得非常混乱.
我可以做更多吗?
是.您可以保护您的代码免受SQL注入.
这是我已经做过的简要说明
只有我必须补充一点,你不应该破坏你的源数据数组.
POST数组与SQL有关.数据可能会进入电子邮件,HTML表单,文件,在线服务等.为什么要用SQL保护来处理它?
另一方面,您可能不是从POST而是从文件,在线服务和其他查询中获取数据.
因此,您必须保护源数组,而不是保护查询的实际数据
说到XSS,再没有简单的通用规则.
但一般来说,您必须使用htmlspecialchars($data,ENT_QUOTES);
输出的每个不受信任的数据作为文本,并在某些特殊情况下使用其他类型的验证,例如文件名