什么时候使用PHP Get请求是安全的

时间:2015-05-26 19:09:46

标签: php request

我正在创建一个具有用户区域的Web应用程序。我想将所有错误转移到一个名为errors.php的页面,其中包含如下参数字符串:

header("Location:error.php?message=This is a particular error.");

出于安全原因,我使用GET请求阅读了很多关于的内容,但如果数据不敏感,这是否适用?换句话说,对非敏感数据使用GET请求是否会打开网站其他区域的漏洞?或者可以肯定地说,当数据不是安全数据(密码,用户名,电子邮件等)时,可以无限制地使用GET。

2 个答案:

答案 0 :(得分:1)

当您想传递敏感信息时,使用GET的安全性较低。例如 - 传递密码。

使用GET传递标识符(例如产品ID)完全可以。

不要传递GET任何敏感信息。传递错误描述,只要你不在其中包含敏感信息,就可以了。

无论如何,总是过滤服务器端的数据。

想想这个例子: error.php?消息=警报(1)

如果有人发送带有此URL的链接,则会执行JS脚本,除非您将对其进行过滤。警报不是dangures,但这种方式可以用于许多恶意行为。

任何方式,我相信您最好设置错误代码列表,并传递错误的完整描述字符串。

答案 1 :(得分:0)

如果您在$_GET['message']中显示error.php,则可能会htmlspecialchars,如果您没有使用urlencode()之类的内容,则可能会#

您还需要import random def main(): global random_int random_int = random.randint(5, 13) print random_int makelist(random_int) random_list.sort string = ' ' . join([str(x) for x in random_list]) print string def makelist(list_length): global random_list random_list = [] for x in range (list_length): random_list.append(random.randint(0, 100)) main() 您的邮件参数,以防它包含像-g这样的特殊字符,这些字符会破坏内容。