如何避免篡改javascript / HTML元素

时间:2017-10-10 20:07:00

标签: javascript html security

在我的fiddle我有一个示例,应该只允许用户通过根据某些计算的javascript将禁用的提交按钮元素设置为false来点击提交。

  function enable(TVD) {
    if (TVD[TVD.length - 1] >= trueTVD - 5 && TVD[TVD.length - 1] <= trueTVD + 5) {
      //console.log(TVD[TVD.length - 1]);
      $('#submitButton').prop("disabled", false);
    } else {
      $('#submitButton').prop("disabled", true);
    }
  }

发生的事情是我发现有些用户设法通过使用开发工具之类的东西绕过了这个。

我想设计这个,以便绕过我的安全。如何实现此目标或隐藏开发工具中的javascript?

3 个答案:

答案 0 :(得分:5)

简短回答:你不能

答案很长:每个人都可以向您的服务器发送任何内容。因此,安全过滤和检查用户输入的唯一方法是仅在服务器端

抱歉

答案 1 :(得分:2)

  1. 最好的方法是在服务器上进行验证。永远不要相信来自客户的任何东西。它可能被篡改。

  2. 从来没有完全可以阻止开发工具被加载,但是你可以通过禁用F12按钮和上下文菜单来解决这个问题,但是那条道路你不能#39;我想继续前进。

  3. 使用缩小的代码,因此阅读和理解并使用开发工具或其他嗅探器变得更加困难。

  4.   

    summerized:使用缩小(混淆)代码与客户端和服务器上的健全性检查(最好也在数据库上)。

答案 2 :(得分:1)

Afaik,您无法向用户隐藏JavaScript代码。见this

实现混淆的一种低级方法是使用缩小的javascript文件,因为大多数用户都不会费心跟踪单个字母命名变量等。