从一个web2py控制器,我返回了如下内容:
引发HTTP(404,"对不起,找不到{}".format(request.args[0]))
但这危险吗?如果有人用恶意的args字符串调用页面,该怎么办?他们能否将html注入我的返回页面,并在我的服务器上构建一个包含其html内容的页面?如果他们将大量数据注入args[0],会不会DoS我的服务器?
为了安全起见,只需执行:
raise HTTP(404, xmlescape("Sorry, could not find {}".format(request.args[0])))
xmlescape()
将转义文本,因此浏览器将不会显示HTML/JS。