用户可以编辑页面源,操纵隐藏的字段值,然后使用这些值发布表单吗?

Zer*_*tor 7 html

在各种网站上,您经常在页面源中看到表单上的一些隐藏值(通常持有某种常量,键,ID等).就像是:

<input type="hidden" name="_submit_check" value="1">
Run Code Online (Sandbox Code Playgroud)

我假设这个网站是双重检查表单是通过检查_submit_checks值为1发布的.是否可以编辑源并将其更改为0,然后发布数据,从而使表单无法发布服务器端?

这个例子对服务器来说不是很危险,因为它会忽略请求,但使用隐藏字段是否存在任何可能的安全风险(除了明显的:他们仍然可以读取源中的值,我更担心如果他们可以编辑它).

Jro*_*rod 11

是的,用户可以复制您的html表单,更改值,然后发布到您的服务器.这就是为什么始终验证和清理用户输入(包括服务器端的隐藏输入值而不仅仅是客户端(即javascript))非常重要的原因.