使用IRI的最佳实践有哪些,以防止字符误传、欺骗或字符注入?
防止所有涉及注入控制字符的攻击并非有一种绝对方案。漏洞高度依赖于数据使用方式。例如,xss使用控制字符<>
,而SQL注入使用控制字符'"\
,混合这两个过滤器毫无意义。
可以使用一系列正则表达式确保在使用数据之前其有效性。可以基于函数来使用特定的正则表达式来防止特定的漏洞。输入验证超出了安全领域,并且通常需要程序正常运行。
正则表达式并不总是完成工作的最佳方式。例如,如果您正在使用mysql库,则应调用mysql_real_escape_string()函数,以确保mysql识别的所有控制字符都得到正确转义。使用此函数而不是尝试编写自己的安全系统是为您的最大利益,重新发明轮子是糟糕的工程实践,并且在安全系统中可能具有灾难性的后果。
'"\\
的情况下发生... - knittl