如何防止html / JavaScript代码修改

我想知道是否有办法防止用户修改jQuery或javascript的html页面来改变它的行为。 用户可以使用FireBug或Google Chrome开发人员栏等工具对其进行修改,以隐藏或显示div,向页面元素添加事件侦听器等。 我已经看到一些网页在加载页面时显示阻塞div,并且弹出窗口提示回答一些问题。如果你回答它,div隐藏,你可以正常看到页面。 但是,如果您尝试使用FireBug隐藏阻止div,页面将重新加载,如果您没有在弹出窗口中提出问题,则无法正确查看页面。 我想知道如何阻止用户做这些事情。 非常感谢。     
已邀请:
这是不可能的(这是一件非常好的事情)。     
要打败问题中描述的方法: 您可以使用控制台/工具的键盘快捷键(Chrome中的Ctrl + Shift + I) 您可以使用资源/网络面板查看源 你可以在任何其他级别看到它,例如提琴手 您可以使用书签来方便访问 不,你不能阻止人们看到或修改你的源/脚本,如果他们想...你最想阻止的是最能够规避任何威慑的东西(这就是你所做的一切,一种威慑,而不是停止)你把它放到位。     
唯一的方法(在我看来)是在用户执行您想要的操作之前没有加载页面内容。在他回答了问题(或其他)后,你发送了一个内容的AJAX请求(当然,正如你所说,你也应该在服务器上验证答案,最好是在同一个请求中)。因此,您加载页眉,横幅和任何不重要的内容,但在用户执行操作之前,不应加载实际内容(比如博客上的文章)。 用户浏览器收到的所有内容都属于用户,因此您无法对其执行任何操作。     
正如其他人已经说过的那样,无法控制最终用户对您发送的数据的处理方式。 有可能检测到Firebug和其他人使用的
console
对象,但是一旦获得该信息,您的网站可以对该信息做些什么呢?您不能禁用firebug或阻止它被使用,甚至不知道它是否已被使用。 最重要的是,一旦网页和javscript代码被发送到浏览器,它就不受你的控制了。 最接近你想要的是将你的一些代码从Javascript中移出并移动到服务器,用户将无法访问它。但是,您仍然需要一些客户端代码,这仍将受到恶意用户的支配。 另一种方法是移动到Flash或类似的东西,其中最终用户无法直接访问代码或对象模型。这有它自己的缺点,你会逆转趋势,即从Flash转向HTML5和Javascript。     
当然,你不能阻止任何人做他想做的事,但你可以让改变更加困难。 看看DOMEvents,尤其是Mutation-Events。 这些使您能够看到某些内容发生了变化(属性,删除/插入的节点,文本节点中的数据......)。例如,如果发生这种情况,您可以构建一个函数来监视一些您不必更改的特殊属性并重新加载页面。     
不可能。当您向客户端发送代码时,客户端可以查看并修改它。只有在您的服务器上运行的代码才会受到保护。     
除非您确保(或强制)用户使用没有开发人员工具的浏览器,否则我认为不可能这样做。     
使用ajax获取远程信息不会向用户发送所有信息,例如民意调查等答案,在他使用ajax从服务器中选择一个选项后得到答案。客户端验证绝不是一件好事,这就是我以前如何删除其他愚蠢人员的数据库,除非人们正确地学习了真正的工作方式,否则他们应该以艰难的方式进行教学,例如在root访问漏洞的情况下丢失一切。 我不知道为什么HTML必须被阻止它没有被阻止,因为浏览器出来他我可以使用套接字制作我自己的浏览器并将HTML转移到一些文本框并在我最喜欢的记事本/编辑器等中查看.. 至于javascript,您可以简单地在浏览器地址栏中发送javascript命令(浏览器支持黑客的方便性如何,但它也用于与其他技术(如闪存)的互操作通信,因此它具有邪恶/良好的一面作为一切。 ) 如果你不知道你可以做到
javascript: alert('hi');
或者如果您的javascript游戏或其他任何具有全局范围的变量,您可以轻松地修改它们
javascript: score=9999;damage=99999;
等我说它一切都很好,它可以清除坏程序员并让他们解雇或者将来教他们一课。 我已经看到很多大型网站仍然陷入SIMPLE XSS攻击(跨站点脚本),这只是令人困惑的是这些程序员如何找到工作,我会做一个更好的采访或一些狗屎它是荒谬的     

要回复问题请先登录注册