2

我有一个重要的问题,我不知道该搜索什么,所以我向你们寻求帮助。

我是否需要转义这种代码:

<?php if(isset($_GET['hk']) && $_GET['hk'] == "loginerror") { echo "error"; } ?>

(结果将类似于 index.php?hk=loginerror)

还是我应该让它不转义?如果我不使用转义,黑客可以“破解”吗?

谢谢。

4

3 回答 3

1

当您在生成的代码或数据格式中使用用户输入时(例如,如果您将其放入 SQL 查询、HTML 文档、JSON 文件等),您需要对用户输入中的特殊字符进行转义(或编码,取决于上下文)。

如果您只是将它与字符串进行比较或查看它是否存在,那么转义它是没有意义的。

于 2013-07-27T11:55:16.527 回答
1

在发送信息以限制黑客发现任何安全漏洞时,过滤或转义字符串始终是一种好习惯。

此外,在通过网络发送敏感信息时,切勿使用 $_GET 方法,而应使用 $_POST 方法。

使用 $_GET 方法可以显示正在解析的变量,这些信息对黑客来说可能非常重要和有影响力

于 2014-08-04T13:28:20.183 回答
-2

不。

您根本不应该逃避一个 $_GET 数组。

于 2013-07-27T11:50:47.760 回答