Javascript 多页表单提交,如何使用firebug或html inspect工具避免隐藏字段中的表单数据更改

Javascript 多页表单提交,如何使用firebug或html inspect工具避免隐藏字段中的表单数据更改,javascript,html,jsp,Javascript,Html,Jsp,我有一个5页表单提交场景,在第一页中,一旦表单提交,第1页中提交的数据将与其他一些用户输入一起显示在第2页中。 因此,在第5页中,实际事务发生,数据被持久化到数据库中 但是使用inspect工具,用户可以更改在页面之间提交的数据。 如何避免此数据更改 我已经用javascript对数据进行了编码,并在提交页面完成后将关键数据增量存储在会话中 除此之外还有其他原因。您无法阻止在html、css或javascript中进行客户端更改。您可以在用户会话中保存以前表单的结果。如果用户更改输入值,您仍然有

我有一个5页表单提交场景,在第一页中,一旦表单提交,第1页中提交的数据将与其他一些用户输入一起显示在第2页中。 因此,在第5页中,实际事务发生,数据被持久化到数据库中

但是使用inspect工具,用户可以更改在页面之间提交的数据。 如何避免此数据更改

我已经用javascript对数据进行了编码,并在提交页面完成后将关键数据增量存储在会话中


除此之外还有其他原因。

您无法阻止在html、css或javascript中进行客户端更改。您可以在用户会话中保存以前表单的结果。如果用户更改输入值,您仍然有原始信息的服务器端副本。

您可以尝试使用CURL提交表单。这确保所有表单数据都是在服务器端生成的。
在这里阅读有关CURL的更多信息:。

您可以使用一些私钥在服务器上对数据进行签名。用户提交表格1。服务器使用私钥对数据进行签名,然后使用数据和签名初始化表单2(一个或多个隐藏字段)。用户使用某种工具更改旧数据并提交表单2。服务器使用可用的签名和公钥检查传入的数据,并将其拒绝。@YuryTarabanko,正如问题中提到的,我已经使用了这种方法。这种方法有加密和解密的开销。因此,您将能够检测数据是否被修改。无论如何,如果你认为签名的开销很大,那么这种方法是行不通的。我在问题中也提到过这种方法,当有许多并发用户时,这种方法是一个瓶颈。答案与问题无关。我必须从最终用户那里收集信息。