禁用JavaScript控制台调试的方法

时间:2024-06-22 03:09:08 

有几个巨头公司,即Facebook和Netflix,决定禁止用户在控制台(console)执行JavaScript命令。
最初这是 由Facebook开始的 ,用于防止恶意用户通过JavaScript控制台执行特定的命令散播消息(发送给所有Facebook用户大量垃圾信息)。
当然这受到很多指责,但在我参与之前, 他们使用的代码 如下所示:


// 看起来 Netflix 似乎是唯 Facebook 马首是瞻 [https://news.ycombinator.com/item?id=7222129].

(function() {
try {
var $_console$$ = console;
Object.defineProperty(window, "console", {
get: function() {
if ($_console$$._commandLineAPI)
throw "抱歉, 为了用户安全, 本网站已禁用console脚本功能";
return $_console$$
},
set: function($val$$) {
$_console$$ = $val$$
}
})
} catch ($ignore$$) {
}
})();


虽然我人微言轻,但实际上我认为这种做法是合法的。从他们的角度来看,如果暂时禁用控制台有助于防止一个问题,那就不得不这样做。

但从长远来看,这真的不是一个好主意;其目标可能只是想要屏蔽依赖他们的目标用户。

无论如何,如果你想防止控制台执行脚本,这段代码看起来效果不错,也的确如此。

标签:js,控制台,调试
0
投稿

猜你喜欢

  • Python之requests的使用(二)

    2021-10-30 16:44:51
  • python基础之文件操作

    2022-12-23 01:15:53
  • asp实现非大小写的替换函数

    2010-05-19 21:23:00
  • Python多重继承的方法解析执行顺序实例分析

    2021-06-08 04:34:51
  • 多列复合索引的使用 绕过微软sql server的一个缺陷

    2012-08-21 10:37:36
  • R语言属性知识点总结及实例

    2022-06-28 04:39:02
  • 浅析Go语言中闭包的使用

    2024-02-16 12:35:18
  • sqlserver 手工实现差异备份的步骤

    2024-01-28 12:48:24
  • golang 使用sort.slice包实现对象list排序

    2023-06-21 18:25:46
  • Python笔记之观察者模式

    2023-04-05 18:37:20
  • python 运算符 供重载参考

    2021-01-20 01:15:45
  • python快速编写单行注释多行注释的方法

    2022-06-04 07:06:54
  • js Select下拉列表框进行多选、移除、交换内容的具体实现方法

    2024-04-28 09:38:01
  • python图形开发GUI库pyqt5的基本使用方法详解

    2022-07-08 02:31:55
  • 国外新闻报纸排版布局设计欣赏

    2008-02-25 23:14:00
  • Oracle数据库性能优化技术开发者网络Oracle

    2010-07-18 13:05:00
  • php封装json通信接口详解及实例

    2023-11-14 21:56:26
  • 对Python+opencv将图片生成视频的实例详解

    2022-01-03 08:42:16
  • Go语言带缓冲的通道实现

    2024-02-08 18:34:13
  • python 实现查找文件并输出满足某一条件的数据项方法

    2021-05-10 11:51:30
  • asp之家 网络编程 m.aspxhome.com