那么仅在客户端验证表单是否安全?

时间:2012-11-20 15:53:39

标签: security validation client-side-validation server-side-validation

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

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

嗯,这是我的问题......

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

因为我正在通过jquery ajax进行服务器端验证,并且我打算不在php脚本中直接验证它们(action =“some.php”),甚至启用了用户的javascript。

所以......它还安全吗?

抱歉我的英文不好,希望你不介意。

3 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:7)

我的规则相当简单......

  1. 如果您关心数据,则必须在服务器上进行验证。
  2. 如果您关心自己的用户体验,则必须验证 客户。

答案 2 :(得分:6)

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