可能重复:
What's the best method for sanitizing user input with PHP?
What are the best PHP input sanitizing functions?
The ultimate clean/secure function
目标:在进入数据库之前,正确清理文本框中的所有输入,然后输出到页面。对于我的用例,我需要在不消除数据输入的同时防止潜在的问题。此外,在HTTP标头和META标记中,字符集显式设置为UTF-8,以防止格式错误的编码出现问题。 DB也设置为UTF-8。
规范:PHP,MySQL,Apache
示例代码:
function secureinput($input)
{
$input = htmlspecialchars($input, ENT_QUOTES ,'UTF-8');
$input = strip_tags($input); //fail-safe for anything that gets through
$input = mysql_real_escape_string($input);
return $input;
}
问题:哪些攻击媒介(XSS,SQL注入等)仍然容易受到攻击?
非常感谢能够提供帮助的任何人。这是我第一次发帖,虽然我总是先找SO来查找我的问题的答案。不幸的是,这次我找不到任何其他问题来回答我的问题,只有很小的一部分。
答案 0 :(得分:1)
每当您输出用户输入的内容时,通过使用htmlspecialchars(),您可以确保您免受XSS攻击。
Steve Friedl在他的网站上提供了一些SQL注入和输入清理限制的例子:http://www.unixwiz.net/techtips/sql-injection.html
即使您的代码 可能 使用mysql_real_escape_string()防止SQL注入攻击,您最好使用参数化SQL并完全消除SQL注入的风险。如果在PHP中使用PDO或mysqli而不是弃用的mysql函数,那么你也会更安全。