这是一个尚未直接提出的问题。
我是为一家每年为数百万网络客户提供服务的公司开发的。我们的许多Web应用程序是在几年前编写的(并且使用不良实践)完全依赖于java脚本来使页面工作,最明显的是Web表单验证。
最近,我们一直在实施noscript标签,以便在不使用javascript的情况下将用户重定向到错误页面。
我无法说服任何人为什么服务器验证应该与客户端验证一起发生,而不是使用noscript,因为99%的用户现在拥有支持JavaScript的浏览器。
另外,可以在5秒内开发添加开关标签和重定向标签,而服务器验证则需要更多时间和金钱。
你的想法是什么?
如果我们现在除了只需要启用脚本的1%用户之外还有noscript,那么服务器验证的真正优势是什么?
答案 0 :(得分:3)
您应该始终进行服务器端验证。期。毫无疑问。您永远不应该依赖客户进行验证。假设一个机器人或其他东西使POST都绕过JavaScript和noscript
标签。没有服务器端验证的一件事是它也会打开sql注入攻击。
答案 1 :(得分:1)
客户端无法禁用或绕过服务器验证,而客户端验证可以。
这对你来说是个问题吗?如果它在不受保护的计算机上向公众开放,如果不是问题,我会感到震惊。如果你只依赖于JavaScript验证,那么如果有人不择手段绕过这个(这很容易做到),那会导致:
给你的客户。
如果确实如此,那么在有人攻击您的网站之前,您需要尽快进行服务器端验证。
答案 2 :(得分:1)
<强> 强>
答案 3 :(得分:0)
如果有人故意试图打破你的syststem /网站并禁用javascript并输入一些脚本和sql注入的东西。只有服务器端验证才能阻止它。 按照我的理解非常需要
答案 4 :(得分:0)
您无需成为PRO即可绕过使用Firebug等工具进行Javascript验证。如果您不添加服务器端验证,则您的数据完整性将面临风险,这反过来不仅会给您的公司带来问题,还会给您的客户带来问题。贵公司的声誉在这里受到威胁(如果发生攻击,给客户的理由/答案,例如“我们没有服务器端验证”,至少可以说是非常尴尬,因为它是一种常见的添加方式服务器端验证)。