【发布时间】:2014-03-18 11:59:54
【问题描述】:
我在我的项目(asp.net Web 表单)中使用 Jquery 验证,但是如果用户在浏览器中禁用 java 脚本,服务器端验证仍然有效吗?或者我必须使用验证控件(asp.net)? 在浏览器中禁用 java 脚本时如何使用 Jquery 进行安全验证?
【问题讨论】:
标签: javascript jquery asp.net
我在我的项目(asp.net Web 表单)中使用 Jquery 验证,但是如果用户在浏览器中禁用 java 脚本,服务器端验证仍然有效吗?或者我必须使用验证控件(asp.net)? 在浏览器中禁用 java 脚本时如何使用 Jquery 进行安全验证?
【问题讨论】:
标签: javascript jquery asp.net
Jquery 是用 JavaScript 编写的。因此,如果 JavaScript 被禁用,Jquery 验证或任何其他 Jquery 功能都将不起作用。
如果禁用了 Javascript,您可以使用 <noscript> 块向用户传达消息以在浏览器中启用 Javascript。
<noscript> 块在 Javascript 被禁用时运行。
<nocript>
<h2>Please enable Javascript</h2>
</noscript>
【讨论】:
您似乎对这里的几个概念有些困惑。正如 m hasan 所说,JQuery 使用 JavaScript(如果您愿意,可以编写)这是一种客户端脚本语言,因此可以在客户端机器(浏览器)上禁用。
服务器端验证独立于客户端工作,因此用户在其系统上禁用技术应该与服务器端验证是否正确运行无关。
如果用户在他们的浏览器中禁用 JavaScript,那么您就不能使用 JQuery。一种选择是使用 <noscript> 块,正如上面 m hasan 所建议的那样(或下面,取决于此评论的结束位置)。
从安全的角度来看,您永远不应该仅仅依赖客户端验证工具(例如 JavaScript / JQuery)。它们应该更多地被视为用户界面的辅助工具。所有关键验证都应始终在服务器上进行。
【讨论】: