可能重复: What's the best method for sanitizing user input with PHP? What are the best PHP input sanitizing functions? The ultimate clean/secure function
目标:在输入DB之前,正确清理文本框中的所有输入,然后将其输出到页面。对于我的用例,我需要防止潜在的问题,同时不消除数据输入。此外,在HTTP头和元标记中,字符集显式地设置为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注入等)这还容易受伤害吗?
感谢任何能帮忙的人。这是我第一次发帖,尽管我总是第一次找到问题的答案。不幸的是,这一次我找不到任何其他问题来回答我的问题,只是其中的一小部分。
发布于 2012-07-28 20:21:37
XSS攻击
通过在输出用户输入的内容时使用htmlspecialchars(),可以确保您不受XSS攻击。
SQL注入
Steve在他的网站:http://www.unixwiz.net/techtips/sql-injection.html上提供了一些SQL注入和输入消毒限制的例子。
尽管您的代码可能在使用mysql_real_escape_string()的SQL注入攻击中是安全的,但是最好使用参数化的mysql_real_escape_string并完全消除secure的风险。如果在PHP中使用PDO或mysqli,而不是不推荐的mysql函数,您也会更加安全。
https://stackoverflow.com/questions/11704270
复制相似问题