9

当然,我知道服务器端验证是必须的。

我正在使用 jQuery 验证表单输入并同时使用 jquery ajax 进行服务器端(PHP)验证。所以我想它可能是安全的,因为它在启用 javascript 时对双方进行验证。

好吧,这是我的问题...

但是,如果用户在他的浏览器上禁用了 javascript,并且如果一些坏人试图通过编辑我的客户端脚本来做坏事怎么办?

因为我正在通过 jquery ajax 进行服务器端验证,并且我计划不直接在 php script(action="some.php") 中验证它们,即使启用了用户的 javascript。

那么……它还安全吗?

对不起我的英语不好,希望你不介意。

4

3 回答 3

15

不,这不安全。提交表单,您应该始终在服务器端验证您的数据。提交表单之前的客户端验证和 AJAX 验证只会通过对无效数据提供更快的反馈来增强用户体验。客户端验证和 AJAX 提交前验证都不会也不能保护您免受恶意制作的表单提交。攻击者和滥用者通常甚至不使用浏览器来向您的服务器提交数据。

于 2012-11-20T15:59:16.503 回答
7

My rules are fairly simple...

  1. If you care about your data, then you must validate on the server.
  2. If you care about your user experience, then you must validate on the client.
于 2012-11-20T15:56:36.347 回答
6

由于任何访问者都可以阅读 javascript,并且可以使用最新的浏览器轻松编辑,因此任何具有一点编程技能的人都可以立即绕过您的 javascript 验证。因此,您也应该始终在服务器端进行验证。

于 2012-11-20T16:00:06.187 回答