我正在创建一个具有用户区域的Web应用程序。我想将所有错误转移到一个名为errors.php的页面,其中包含如下参数字符串:
header("Location:error.php?message=This is a particular error.");
出于安全原因,我使用GET请求阅读了很多关于不的内容,但如果数据不敏感,这是否适用?换句话说,对非敏感数据使用GET请求是否会打开网站其他区域的漏洞?或者可以肯定地说,当数据不是安全数据(密码,用户名,电子邮件等)时,可以无限制地使用GET。
答案 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
这样的特殊字符,这些字符会破坏内容。