用户是否可以编辑页面源代码,操作隐藏字段值,然后发布具有这些值的表单



在各种网站上,您经常在页面源代码中看到表单上的一些隐藏值(通常包含某种常量,键,ID等)。像这样:

<input type="hidden" name="_submit_check" value="1">

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

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

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

是的,您可以编辑它,现在像Chrome和Firefox这样的浏览器集成了Web开发工具,修改值更容易。这就是为什么您不应该信任从用户那里收到的数据

是的,你可以。如果您使用的是Firebug/IE开发人员工具/等,则可以编辑页面上的任何内容并提交包含该数据的表单。您还可以运行任何 js 并以这种方式进行编辑。这是您确实需要在对它们执行任何操作之前在服务器端验证所有输入的主要原因之一。

是的,这是可能的。 使用内置开发人员/调试工具或作为扩展的现代浏览器,他们甚至不需要保存表单即可对其进行编辑。 这就是为什么您永远不应该信任任何数据作为表单提交,并始终对其进行验证和清理。

是的,使用插件到浏览器的开发人员工具非常容易。这些工具用于欺骗人们并撒谎,即为狡猾的致富计划创建登录页面的人可能会编辑他们PayPal帐户上的数字,然后截取屏幕截图。这是为了证明他们很富有。

我们中的一些人知道得更多。我们知道在互联网世界中一切都需要确认/验证,并且不接受任何表面价值。

我目前正在研究防止Wordpress中的表单黑客攻击,并通过在数据库中存储有关表单的信息来加快开发速度。这是即时完成的。所有表单都是使用许多函数构建的,我不编写 HTML。每个可见项都有一个存储在数据库中的验证方法。在处理过程中,将查询并应用该方法。

简而言之,用户可以随心所欲地编辑隐藏的输入。数据库临时保存所有内容的副本,进程使用该副本。

相关内容

最新更新