我需要从Flash联系表单向PHP发送消息。我是否需要对'“<>& 等字符进行编码,因为可能存在XSS攻击或其他问题?
答案 0 :(得分:0)
这些字符仅在HTML上下文中是特殊的。如果您不将它们作为HTML的一部分输出,那么它们没有什么特别之处,并且没有XSS风险。只转义您使用它的上下文的数据。如果使用JSON将数据发送到PHP,则需要JSON编码JSON中特有的字符。如果将数据输出到HTML,则需要HTML转义特殊的HTML字符。如果不涉及HTML上下文,则不需要转义HTML中特殊的字符。
答案 1 :(得分:0)
是的,但不是因为XSS适用于您的情况。您不希望干扰使用单引号或双引号的数据库查询字符串。在PHP中,使用此
转义$ _POST或$ _GET变量$myString = mysql_real_escape_string($myString);
如果您在HTML页面上输出此数据,请在输出页面上执行此操作
echo htmlentities($row['columnName'], ENT_QUOTES);
您也可以选择在将其插入数据库之前执行上述脚本