0

嗨,我遇到了一个问题。我在网页上有一个表单,它使用了一堆 HTML 控件(文本框、复选框、下拉列表等...)。我要将输入的数据添加到数据库中,但需要先对其进行验证。我更喜欢在客户端完成验证,因为它更干净。那么是否可以使用 JavaScript 进行所有的错误检查,然后在所有检查完成后,向服务器端代码发送一个 true 或 false 值,以便它知道开始处理它?

到目前为止,我一直在做我的 JavaScript 验证,然后用 ASP.NET 代码模仿它。它有效,但必须有更好的方法。

提前致谢

4

2 回答 2

1

在决定在哪里执行验证时,有两种选择:

  • 在服务器上
  • 在服务器客户端

仅在客户端上执行验证不是一个安全的选择,因为您无法信任客户端。如果用户禁用了 javascript,那么您的客户端验证永远不会运行怎么办?现在您的服务器正在盲目地接受潜在的不良数据。如果用户将您的网络表单保存到磁盘,更改它以删除验证,然后使用他们修改后的版本提交怎么办?您的服务器盲目地接受潜在的不良数据。

仅客户端验证最终会让您付出代价 - 不要走那条路。

于 2013-06-19T14:49:08.470 回答
0

除非您选择使用 ASP.NET MVC,这是一种优雅且“更好的方式”来构建具有基于属性的验证的应用程序,否则您将不走运。您必须检查服务器上的数据。

记住,

Never ever trust the data from the user.

即使您的大多数用户都是老好人,但也有聪明、邪恶的人会试图入侵您闪亮的网站。除此之外,如果人们发现您没有验证服务器上的数据,他们会嘲笑您。

为了使您免受这种侮辱,请在服务器上验证您的数据。

于 2013-06-19T15:24:29.457 回答