我需要转义所有GET数组吗?

时间:2013-07-27 11:49:38

标签: php mysql-real-escape-string

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

我是否需要逃避这种代码:

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

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

或者我应该不让它逃脱?如果我不使用逃脱,黑客可以“破解”吗?

感谢。

3 个答案:

答案 0 :(得分:1)

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

如果您只是将它与字符串进行比较或查看它是否存在,则无法将其转义。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:-2)

NO。

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