在不输出到 html 时使用 htmlspecialchars


Using htmlspecialchars when not outputting to html

例如,如果我使用$id= $_GET['id'];,然后使用该$id作为if语句的条件,我是否必须在$id上使用htmlspecialchars?

例如

$id = htmlspecialchars($_GET['id']);
if($id) {
//code
}

是否需要 htmlspecialchars,即使没有输出 html?

No.只有当您将数据输出到 HTML 上下文中时,您才需要 HTML 转义数据,并且数据可能包含在 HTML 中具有特殊含义的字符(例如 <>"),并且您不希望这些字符破坏您的 HTML 结构。

另请参阅大逃避主义(或:处理文本中的文本需要知道的内容)。