输入验证的一般最佳实践是什么?

4

使用IRI的最佳实践有哪些,以防止字符误传、欺骗或字符注入?

1个回答

1

防止所有涉及注入控制字符的攻击并非有一种绝对方案。漏洞高度依赖于数据使用方式。例如,xss使用控制字符<>,而SQL注入使用控制字符'"\,混合这两个过滤器毫无意义。

可以使用一系列正则表达式确保在使用数据之前其有效性。可以基于函数来使用特定的正则表达式来防止特定的漏洞。输入验证超出了安全领域,并且通常需要程序正常运行。

正则表达式并不总是完成工作的最佳方式。例如,如果您正在使用mysql库,则应调用mysql_real_escape_string()函数,以确保mysql识别的所有控制字符都得到正确转义。使用此函数而不是尝试编写自己的安全系统是为您的最大利益,重新发明轮子是糟糕的工程实践,并且在安全系统中可能具有灾难性的后果。


XSS 也使用“'”和许多其他字符。SQL 注入也可能在没有 '"\\ 的情况下发生... - knittl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接