2013-04-09 71 views
-2

我有想法:的JavaScript“的onClick”,“的onsubmit”

是什么阻止从通过删除“的onsubmit”使用类似Firebug的HTML表单绕过表单验证人吗?

我知道Javascript并不是唯一的验证形式,但我怎样才能确保Javascript验证不会以这种方式被规避?

如果可能的话,我宁愿继续使用“onSubmit”方法,因为这已经存在,但我可以使用其他选项。

我应该说清楚,我确实有服务器端验证。我只是想尽可能地去除JS验证。

+1

服务器端验证.. ?? – 2013-04-09 11:51:49

+0

>什么阻止 - 什么都没有。客户端验证应与服务器端配对使用。 – Tommi 2013-04-09 11:52:54

+0

请参阅[this](http://stackoverflow.com/questions/162159/javascript-client-side-vs-server-side-validation)或[this](http://stackoverflow.com/questions/10460711/to - 什么-延伸-应-I-依赖-上的客户端验证)。 – 2013-04-09 11:54:04

回答

6

什么阻止某人避开表单验证,通过删除使用类似Firebug的HTML表单的“onSubmit”?

什么都没有。客户端表单输入检查为用户提供了便利(它允许即时和上下文反馈,而无需往返服务器),而不是服务器的安全性。您还需要检查服务器上的数据。

我了解Javascript是不是意味着要验证

是唯一的形式。

但我该如何确保Javascript验证不会以这种方式绕过?

你不能,那就是为什么它不是唯一的验证形式。

+0

它不是唯一的验证形式。我知道这不是我想要的,我只是想让它变得困难。 – Barney 2013-04-09 11:58:05

+0

你不能让它难以消除。 – Quentin 2013-04-09 12:02:01

+1

因为客户端验证的唯一目的是用户的舒适度,所以无论如何都难以消除。 – 2013-04-09 12:04:35

0

不可能阻止用户在HTML页面中更改正在运行的JavaScript代码。这就是为什么强烈建议在服务器端复制表单数据验证的原因。

0

你不能做任何事情。

  1. Javascript是客户端,你不应该依赖于客户端代码。用户可以篡改数据并将其发布到服务器端。
  2. 在服务器端,您还需要检查文档的有效性。
0

是什么阻止从通过删除“的onsubmit”使用类似Firebug的HTML表单绕过表单验证人吗?

什么都没有。验证是一种客户端方式,告诉用户在他们不必提交的情况下他们的输入不会被接受。你应该有强大的服务器端验证以及这个工作。

应该有至关重要的验证,这只是客户端。