ASP .NET中的首选验证

时间:2012-04-10 10:31:17

标签: c# asp.net

首选哪些验证:客户端(使用Javascript)或服务器端(使用C#asp.net中的验证控件)?

5 个答案:

答案 0 :(得分:4)

您应该始终在服务器上进行验证。客户端验证可以很好地增强用户体验,但是来自客户端的任何东西都可能是脏的,应该再次在服务器上验证,因为您的服务器端代码不容易受到恶意用户操作(至少不是与客户端代码相同的方式。)

始终最终在服务器上验证!!

答案 1 :(得分:1)

两个

  

JavaScript非常重要,因为它可以防止无效的回发   服务器

     

如果客户端从浏览器禁用JavaScript,则服务器端很重要   比JavaScript验证绕过。

我还建议您在数据库级别进行验证。为了可靠性。

答案 2 :(得分:1)

两者都很好,至少服务器端验证是必须的。由于客户端可能在浏览器上禁用了javascript

  

您不应该依赖客户端验证的原因

  • 最终用户可以关闭javascript
  • 数据可以由不是的人直接发送到您的服务器 甚至使用您的网站,使用专为此设计的自定义应用
  • 您网页上的Javascript错误(由任意数量的内容引起) 可能会导致某些(但不是全部)运行验证

答案 3 :(得分:1)

您应该在服务器端和客户端执行验证。客户端验证可以提高应用程序的交互性。换句话说,使您的应用程序更加用户友好。但是,如果您的用户禁用了javascript,客户端验证可能会有其缺点,然后他可以很好地输入非感知数据值并将它们发送到您的服务器。您不希望这种情况发生。为此您需要执行服务器端验证。服务器端验证控件过滤输入并确保输入正确的数据。 Asp.Net提供了很好的验证控制。你可以很好地利用它们。 我建议您同时使用客户端和服务器端验证,以实现交互性和保护的混合。 感谢

答案 4 :(得分:0)

应该在客户端进行基本验证,例如字段的空白,有效的电子邮件,数字,字符串或日期,但是您应该始终在服务器上验证任何潜在的黑客行为,如跨站点脚本或标记(php)标签,例如)并使更多和更安全总是使用存储过程,并确保有一个功能,用“”或“<>替换空字符串和任何其他危险字符的”'“。