1

this is a question that hasn't directly been asked yet..
I develop for a company which serves millions of web customers per year. Many of our web applications were written years ago (and with bad practice) that relies entirely on java-script for the pages to work, most notably web form validation.

Recently, we've been implementing noscript tags to re-direct users to an error page if they don't use javascript.
I am having trouble convincing anyone why server validation should occur alongside client validation instead of using noscript given 99% of users now have javascript enabled browsers.

Plus, adding in an opening and closing tag and a re-direct can be developed in 5 seconds whereas server validation requires a lot more time and money.
What're your thoughts??
What is the real advantage of server validation if we now have noscript besides the 1% of users who will just have to enable their scripting?

4

5 回答 5

3

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

于 2011-05-25T14:25:48.903 回答
1

服务器验证不能被客户端禁用或绕过,而客户端验证可以。

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

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

给你的客户。

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

于 2011-05-25T14:27:43.010 回答
1

注释/建议:

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

您无需成为专业人士即可使用 Firebug 等工具绕过 Javascript 验证。如果您不添加服务器端验证,您的数据完整性将面临风险,这反过来不仅会给您的公司带来问题,还会给您的客户带来问题。您公司的声誉在这里受到威胁(如果发生攻击,向您的客户提供原因/答案,例如“我们没有服务器端验证”至少可以说真的很尴尬,因为这是一种常见的做法服务器端验证)。

于 2011-05-25T14:58:14.923 回答
0

如果有人故意尝试破坏您的系统/网站并禁用 javascript 并输入一些脚本和 sql 注入的东西。只有通过服务器端验证,您才能阻止它。根据我的理解,它非常需要

于 2011-05-25T14:28:16.957 回答