我正在与同事交谈,我们讨论了客户端验证。
哪种验证方法更好(javascript / asp.net验证)?
我知道当浏览器禁用javascript然后验证将被禁用但使用asp.net验证控件时,即使禁用了javascript,也可以调用方法page.validate()进行验证。
答案 0 :(得分:7)
您应该始终执行服务器端验证,否则您会面临注入攻击的风险。
JavaScript验证很有用,可以防止不必要的往返服务器,但是可以像你指出的那样禁用它。
答案 1 :(得分:3)
两者都做。
JavaScript会立即产生结果。
ASP.NET验证是 解决方案,用于防弹/防呆/防欺骗。这是必须的。
答案 2 :(得分:3)
使用服务器端验证来确保数据完整性和安全性。使用客户端验证可用性。应始终使用服务器端。但客户端验证应该用作增强用户价值的一种方式。我做了一个愚蠢的错字我想让应用程序足够智能以捕捉我的错误。如果您希望您的用户始终做出最意想不到的事情,那么您将拥有一个好的策略。虽然有很多聪明人使用网络。如果你开始假设它主要只是猴子在计算机中输入随机内容,那么你的代码和项目将更加健壮。对于公开面对的网站和僵尸网络,猴子的比喻并不是那么遥远。它实际上只是通过表单输入的随机内容。
答案 3 :(得分:1)
您必须进行服务器端验证。想象一下,您的用户已禁用js,它可能会弄乱您的数据库。你也冒着各种注射攻击的风险。
也就是说,在某些情况下,内联验证很好,因为它可以为用户提供即时反馈,从而提高可用性。