禁用JavaScript控制臺(tái)調(diào)試的方法
更新時(shí)間:2014年03月07日 17:20:43 作者:
這篇文章主要介紹了禁用JavaScript控制臺(tái)調(diào)試的方法,需要的朋友可以參考下
有幾個(gè)巨頭公司,即Facebook和Netflix,決定禁止用戶在控制臺(tái)(console)執(zhí)行JavaScript命令。
最初這是 由Facebook開始的 ,用于防止惡意用戶通過(guò)JavaScript控制臺(tái)執(zhí)行特定的命令散播消息(發(fā)送給所有Facebook用戶大量垃圾信息)。
當(dāng)然這受到很多指責(zé),但在我參與之前, 他們使用的代碼 如下所示:
// 看起來(lái) Netflix 似乎是唯 Facebook 馬首是瞻 [https://news.ycombinator.com/item?id=7222129].
(function() {
try {
var $_console$$ = console;
Object.defineProperty(window, "console", {
get: function() {
if ($_console$$._commandLineAPI)
throw "抱歉, 為了用戶安全, 本網(wǎng)站已禁用console腳本功能";
return $_console$$
},
set: function($val$$) {
$_console$$ = $val$$
}
})
} catch ($ignore$$) {
}
})();
雖然我人微言輕,但實(shí)際上我認(rèn)為這種做法是合法的。從他們的角度來(lái)看,如果暫時(shí)禁用控制臺(tái)有助于防止一個(gè)問題,那就不得不這樣做。
但從長(zhǎng)遠(yuǎn)來(lái)看,這真的不是一個(gè)好主意;其目標(biāo)可能只是想要屏蔽依賴他們的目標(biāo)用戶。
無(wú)論如何,如果你想防止控制臺(tái)執(zhí)行腳本,這段代碼看起來(lái)效果不錯(cuò),也的確如此。
最初這是 由Facebook開始的 ,用于防止惡意用戶通過(guò)JavaScript控制臺(tái)執(zhí)行特定的命令散播消息(發(fā)送給所有Facebook用戶大量垃圾信息)。
當(dāng)然這受到很多指責(zé),但在我參與之前, 他們使用的代碼 如下所示:
復(fù)制代碼 代碼如下:
// 看起來(lái) Netflix 似乎是唯 Facebook 馬首是瞻 [https://news.ycombinator.com/item?id=7222129].
(function() {
try {
var $_console$$ = console;
Object.defineProperty(window, "console", {
get: function() {
if ($_console$$._commandLineAPI)
throw "抱歉, 為了用戶安全, 本網(wǎng)站已禁用console腳本功能";
return $_console$$
},
set: function($val$$) {
$_console$$ = $val$$
}
})
} catch ($ignore$$) {
}
})();
雖然我人微言輕,但實(shí)際上我認(rèn)為這種做法是合法的。從他們的角度來(lái)看,如果暫時(shí)禁用控制臺(tái)有助于防止一個(gè)問題,那就不得不這樣做。
但從長(zhǎng)遠(yuǎn)來(lái)看,這真的不是一個(gè)好主意;其目標(biāo)可能只是想要屏蔽依賴他們的目標(biāo)用戶。
無(wú)論如何,如果你想防止控制臺(tái)執(zhí)行腳本,這段代碼看起來(lái)效果不錯(cuò),也的確如此。
您可能感興趣的文章:
- Node.js console控制臺(tái)簡(jiǎn)單用法分析
- 利用Js的console對(duì)象,在控制臺(tái)打印調(diào)式信息測(cè)試Js的實(shí)現(xiàn)
- js控制臺(tái)輸出的方法(詳解)
- JS簡(jiǎn)單實(shí)現(xiàn)仿百度控制臺(tái)輸出信息效果
- JS實(shí)現(xiàn)淘寶支付寶網(wǎng)站的控制臺(tái)菜單效果
- javascript控制臺(tái)詳解
- js調(diào)試系列 初識(shí)控制臺(tái)
- 利用瀏覽器的Javascript控制臺(tái)調(diào)試PHP程序
- JavaScript控制臺(tái)的更多功能
相關(guān)文章
使用JavaScript實(shí)現(xiàn)彈出層效果的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇使用JavaScript實(shí)現(xiàn)彈出層效果的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05基于JavaScript實(shí)現(xiàn)復(fù)選框的全選和取消全選
這篇文章主要為大家詳細(xì)介紹了基于JavaScript實(shí)現(xiàn)復(fù)選框的全選和取消全選,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02javascript 設(shè)置文本框中焦點(diǎn)的位置
設(shè)置文本框中焦點(diǎn)的位置的實(shí)現(xiàn)代碼2009-11-11TypeScript 類class與修飾符的詳細(xì)使用教程
通過(guò) class 關(guān)鍵字定義一個(gè)類,然后通過(guò) new 關(guān)鍵字可以方便的生產(chǎn)一個(gè)類的實(shí)例對(duì)象,這個(gè)生產(chǎn)對(duì)象的過(guò)程叫 實(shí)例化,類的成員就是類中所有的屬性和方法,這篇文章主要介紹了TypeScript 類class與修飾符的詳細(xì)使用,需要的朋友可以參考下2022-06-06Three.js實(shí)現(xiàn)簡(jiǎn)單3D房間布局
這篇文章主要為大家詳細(xì)介紹了Three.js實(shí)現(xiàn)簡(jiǎn)單3D房間布局的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12關(guān)于ES6中的箭頭函數(shù)超詳細(xì)梳理
箭頭函數(shù)可以說(shuō)是es6的一大亮點(diǎn),使用箭頭函數(shù),可以簡(jiǎn)化編碼過(guò)程,是代碼更加的簡(jiǎn)潔,下面這篇文章主要給大家介紹了關(guān)于ES6中箭頭函數(shù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08Javascript獲取background屬性中url的值
Javascript獲取CSS中屬性值方法有很多,今天工作的時(shí)候遇到了一個(gè)問題是需要利用Javascript獲取css中background-img屬性u(píng)rl的值,通過(guò)查閱網(wǎng)站的資料找到了解決方法,現(xiàn)在將方法分享給大家,有需要的朋友們們可以參考借鑒,下面來(lái)一起看看吧。2016-10-10JavaScript實(shí)現(xiàn)表單驗(yàn)證案例
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)表單驗(yàn)證案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08