在各种网站上,您经常在
页面源中看到表单上的一些隐藏值(通常持有某种常量,键,ID等).就像是:
<input type="hidden" name="_submit_check" value="1">
我假设这个网站是双重检查表单是通过检查_submit_checks值为1发布的.是否可以编辑源并将其更改为0,然后发布数据,从而使表单无法发布服务器端?
这个例子对服务器来说不是很危险,因为它会忽略请求,但使用隐藏字段是否存在任何可能的安全风险(除了明显的:他们仍然可以读取源中的值,我更担心如果他们可以编辑它).
是的,
用户可以复制您的html表单,更改值,然后发布到您的服务器.这就是为什么始终验证和清理
用户输入(
包括服务器端的隐藏输入值而不仅仅是客户端(即javascript))非常重要的原因.