1

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

4

5 回答 5

4

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

总是最终在服务器上验证!

于 2012-04-10T10:34:03.537 回答
1

两个都。

JavaScript 很重要,因为它可以防止对服务器的无效回发。

如果客户端从浏览器中禁用 JavaScript 而不是绕过 JavaScript 验证,那么服务器端很重要。

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

于 2012-04-10T10:33:37.423 回答
1

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

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

  • 最终用户可以关闭 javascript
  • 甚至没有使用您的网站的人可以将数据直接发送到您的服务器,并使用专门设计的自定义应用程序
  • 您页面上的 Javascript 错误(由多种原因引起)可能会导致您的部分验证运行,但不是全部
于 2012-04-10T10:34:16.393 回答
1

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

于 2012-04-10T11:17:05.170 回答
0

基本的验证,如字段的空性、有效的电子邮件、数字、字符串或日期应该在客户端完成,但您应该始终在服务器上验证任何潜在的黑客攻击,如跨站点脚本或标签(例如 php 标签) 并且为了越来越安全,始终使用存储过程,并确保有一个函数用这个“””替换“'”或用空字符串和任何其他危险字符替换 <>。

于 2012-04-10T12:18:51.917 回答