没有脚本标签与服务器端验证?

时间:2011-05-25 14:23:31

标签: javascript validation noscript

这是一个尚未直接提出的问题。
我是为一家每年为数百万网络客户提供服务的公司开发的。我们的许多Web应用程序是在几年前编写的(并且使用不良实践)完全依赖于java脚本来使页面工作,最明显的是Web表单验证。

最近,我们一直在实施noscript标签,以便在不使用javascript的情况下将用户重定向到错误页面。
我无法说服任何人为什么服务器验证应该与客户端验证一起发生,而不是使用noscript,因为99%的用户现在拥有支持JavaScript的浏览器。

另外,可以在5秒内开发添加开关标签和重定向标签,而服务器验证则需要更多时间和金钱。
你的想法是什么? 如果我们现在除了只需要启用脚本的1%用户之外还有noscript,那么服务器验证的真正优势是什么?

5 个答案:

答案 0 :(得分:3)

您应该始终进行服务器端验证。期。毫无疑问。您永远不应该依赖客户进行验证。假设一个机器人或其他东西使POST都绕过JavaScript和noscript标签。没有服务器端验证的一件事是它也会打开sql注入攻击。

答案 1 :(得分:1)

客户端无法禁用或绕过服务器验证,而客户端验证可以。

这对你来说是个问题吗?如果它在不受保护的计算机上向公众开放,如果不是问题,我会感到震惊。如果你只依赖于JavaScript验证,那么如果有人不择手段绕过这个(这很容易做到),那会导致:

  • 安全风险
  • 数据完整性风险
  • 声誉风险
  • 财务风险

给你的客户。

如果确实如此,那么在有人攻击您的网站之前,您需要尽快进行服务器端验证。

答案 2 :(得分:1)

<强>

备注/建议:

  • 记录点击noscript页面的人数。使用此数据,您可以为由于缺乏服务器端验证而未获得的收入提供潜在价值。老板通常会说流利的语言。
  • 潜在的SQL injection和其他安全问题也存在很大问题。您至少应该从表单中清除您的值,即使您没有验证它们。
  • 数据整合可能会受到影响。有时您的脚本可能会失败,但他们会通过noscript检查。如果没有服务器端验证,数据就不能保证它应该是什么。
  • 不支持JavaScript看起来很糟糕这个简单的事情。说实话,这是一种声誉风险。

答案 3 :(得分:0)

如果有人故意试图打破你的syststem /网站并禁用javascript并输入一些脚本和sql注入的东西。只有服务器端验证才能阻止它。 按照我的理解非常需要

答案 4 :(得分:0)

您无需成为PRO即可绕过使用Firebug等工具进行Javascript验证。如果您不添加服务器端验证,则您的数据完整性将面临风险,这反过来不仅会给您的公司带来问题,还会给您的客户带来问题。贵公司的声誉在这里受到威胁(如果发生攻击,给客户的理由/答案,例如“我们没有服务器端验证”,至少可以说是非常尴尬,因为它是一种常见的添加方式服务器端验证)。