2009-09-16 98 views
1

我正在和一位同事聊天,我们讨论了客户端验证。Javascript验证或ASP验证?

验证哪种方法更好(的JavaScript/asp.net验证)?

当JavaScript在浏览器上,然后验证将被禁用,但与asp.net验证控件禁用我知道,你可以调用方法page.validate()做的验证,即使JavaScript已禁用。

+0

我总是做服务器端验证。这个问题涉及客户端验证,我应该使用JavaScript验证还是使用asp.net验证控件。 – JkenshinN 2009-09-16 20:58:31

回答

3

使用服务器端验证数据的完整性和安全性。使用客户端验证的可用性。服务器端应该始终使用。但是客户端验证应该被用作增强用户价值的一种方式。我做了一个愚蠢的错字,我希望这个应用程序足够聪明,可以抓住我的错误。如果你期望你的用户总是做出最令人意想不到的事情,你将会有一个好的策略。虽然有很多聪明的人使用网络。如果你首先假设它大部分只是猴子在计算机中输入随机的东西,那么你的代码和项目将更加强大。当谈到面向公众的网站和bot网络时,猴子的比喻并不遥远。它确实是随机的东西通过你的形式进入。

3

两者兼而有之。

JavaScript给出几乎立竿见影的结果。

ASP.NET验证是解决方案防弹/防欺骗/防欺骗。这是必须有的。

+0

你的答案听起来有点像防弹后端是可选的。后端应始终且始终进行验证,而客户端验证非常好。 – 2009-09-16 20:41:09

7

你应该总是服务器端验证或你的风险注入攻击。

JavaScript验证是不错的到了,并防止不必要的往返到服务器,但像你指出它可以禁用。

1

你必须做服务器端验证。想象一下你的用户有js禁用,它可能会搞乱你的数据库。你也冒着各种注入攻击的风险。

这就是说,在某些情况下,在线验证是好的,因为它给用户的即时反馈,提高了可用性。