当前位置: 首页 > 知识库问答 >
问题:

如何从浏览器控制台禁用JavaScript函数调用?

仉昱
2023-03-14

我正在用HTML/JavaScript开发一个web应用程序,我想阻止用户调用他们浏览器控制台中的函数,以避免作弊。所有这些函数都包含在一个名为functions.js的唯一文件中,该文件加载在index.html文件的头部。

在网上搜索后,我找到了这个解决方案,它在Google Chrome上运行良好,但在其他浏览器(如Firefox)上效率很低:

var _z = console;
Object.defineProperty( window, "console", {
    get : function(){if( _z._commandLineAPI ){ throw "Script execution not permitted" } return _z; },
    set : function(val){ _z = val }
});

有没有一个通用的方法来禁用控制台的函数调用?它是否依赖于浏览器,还是仅仅是一个范围的问题,或者可能是我忽略了的其他问题?

共有1个答案

广献
2023-03-14

有没有一个通用的方法来禁用控制台的函数调用?

您可以通过避免在全局范围内公开您的方法,并通过混淆(缩小)源代码来使您的代码更难内省和使用(调用)您的代码。但是,千万不要相信客户。为了避免作弊,您必须在服务器上执行所有关键任务。不要指望所有请求都来自JavaScript代码或浏览器;您将需要处理任意请求,这些请求也可能由某种类型的bot发出。

 类似资料:
  • 问题内容: 是否可以从控制台(Chrome开发者工具控制台)调用AngularJS控制器功能? 例如 问题答案: 是的,您只需要使用即可获取位于控制器范围内的元素:

  • 是否可以从Linux终端访问开发者工具(Chrome/Firefox)控制台以进行脚本编写? 我试图从我的浏览器访问AngularJS应用程序的变量,这样我就可以快速浏览文件。例如,我可以要求,及其相关的,等;一旦我找到结果,我会在编辑器中打开该文件。 我正在探索的其他选择是使用某种无头浏览器。另外还有一个开发工具协议,它被木偶师等工具用来编程访问Chrome开发工具。 一个简单的节点REPL就足

  • 问题内容: 我正在尝试2个替代方法: 忽略右键 忽略+ ,+ 这是我的代码: 这是我的HTML: 该功能有效,但不起作用。 问题答案: 你不能 您可以尝试阻止某些矢量(例如,使右键单击更加困难的黑客,拦截+ ,使其难以选择文本)……但是它们只能起到某种作用,并且不可能阻止所有矢量(编辑->复制) ?查看源代码??等…)。 如果您想保护内容免受技术含量较低的用户的侵害,则可以采用这些方法……但是,正

  • 如何禁止console为网站的所有浏览器运行任何脚本?

  • 问题内容: 使用Javascript或AngularJS控制或禁用浏览器后退按钮 在这里我不是在问一个问题,但我想展示一个解决方案,以解决您使用AngularJS甚至Javascript时如何禁用和控制浏览器的后退按钮 问题答案: 如果您仅使用Javascript,则可以通过以下链接检查如何禁用“后退按钮”: http://jordanhollinger.com/2012/06/08/disabl

  • 问题内容: 为了进行快速验证,我在开发过程中已在浏览器控制台中测试了AngularJS服务。我注入到服务控制台的方法是在为说明这个问题,或 这与AngularJS 1.0.7完美配合。但是,升级到1.1.5之后,对于使用service的服务将不再起作用,不会发送xhr。 我已经测试过直接注射,它也不起作用。AngularJS changelog似乎没有关于此问题的记录。我可以知道这是什么问题吗?