首选哪些验证:客户端(使用 Javascript)或服务器端(使用 C# asp.net 中的验证控件)?
5 回答
您应该始终在服务器上进行验证。客户端验证可以很好地增强用户体验,但是来自客户端的任何内容都可能是脏的,应该再次在服务器上进行验证,因为您的服务器端代码不易受到恶意用户操作的影响(至少,不是以与客户端代码相同的方式)。
总是最终在服务器上验证!
两个都。
JavaScript 很重要,因为它可以防止对服务器的无效回发。
如果客户端从浏览器中禁用 JavaScript 而不是绕过 JavaScript 验证,那么服务器端很重要。
我还建议您在数据库级别进行验证。为了可靠性。
两者都很好,至少服务器端验证是必须的。由于客户端可能在浏览器上禁用了 javascript
不应该依赖客户端验证的原因
- 最终用户可以关闭 javascript
- 甚至没有使用您的网站的人可以将数据直接发送到您的服务器,并使用专门设计的自定义应用程序
- 您页面上的 Javascript 错误(由多种原因引起)可能会导致您的部分验证运行,但不是全部
您应该在服务器端和客户端执行验证。客户端验证增加了应用程序的交互性。换句话说,使您的应用程序更加用户友好。但是客户端验证可能有其缺点,如果您的用户禁用 javascript,那么他可以很好地输入无意义的数据值并将它们发送到您的服务器。您不希望这种情况发生。为此,您需要执行服务器端验证。服务器端验证控件过滤输入并确保输入正确的数据。有很好的Asp.Net 提供的验证控件。您可以很好地利用它们。我建议您同时使用客户端和服务器端验证来混合交互性和保护。谢谢
基本的验证,如字段的空性、有效的电子邮件、数字、字符串或日期应该在客户端完成,但您应该始终在服务器上验证任何潜在的黑客攻击,如跨站点脚本或标签(例如 php 标签) 并且为了越来越安全,始终使用存储过程,并确保有一个函数用这个“””替换“'”或用空字符串和任何其他危险字符替换 <>。