在很久的以前,因為經(jīng)常在瀏覽器控制臺調(diào)試修改數(shù)據(jù),想到用戶如果使用控制臺配合抓包工具修改上下行流量中的數(shù)據(jù),會給站點帶來不定的安全威脅,所以一直想找個方法,準(zhǔn)確的說是js的方法“禁用”控制臺,也就是用戶無法使用瀏覽器F12調(diào)出控制臺,后來發(fā)現(xiàn)這個想法比較可笑、不可行,因為控制臺是瀏覽器的實體功能之一,如果不從瀏覽器的源代碼處銷毀這一功能,是無法改變調(diào)用控制臺這種情況的,只能重寫代碼改變原有的一些功能,瀏覽器插件也許能做到禁用控制臺,這個倒沒嘗試過,也不重要,畢竟就是做到了這個插件推廣不開等于沒用,當(dāng)然中間也想看看一下大站是怎么做到的,于是跑去扒百毒淘寶的,結(jié)果如下:
百毒:
天貓:
看到的是這些,你們城里人真會玩,我記得當(dāng)初從業(yè)的時候老大就告訴我不要在console里輸出東西,調(diào)試后要清掉,不然就太low了,而我平時使用console功能基本僅限于在代碼斷點處console個string判斷執(zhí)行情況,或者將請求的數(shù)據(jù)打印出來方便查看數(shù)據(jù)結(jié)構(gòu),這種console出樣式、字符圖畫或者是圖片的沒在站點里使用過(清除console的原則,最新做的一個項目使用了哈哈,敬請期待),所以這篇博文list一下console的有意思的玩法;
console語法:
console.log(obj1 [, obj2, ..., objN]);
console.log(msg [, subst1, ..., substN]);
參數(shù)說明:
obj1 ... objN:一系列要打印的對象;
msg:一個要打印的javascript string;
subst1 ... substN:用于替換msg的javascript對象,可以對輸出的格式進(jìn)行額外的控制;
然而我們平常用的基本是這樣的:console.log(data),后面的參數(shù)很少去用的;比如console.log("sd")控制臺就會打印出“sd”;
那么上面顯示的那樣打印多種格式是怎么做到的那,在官方提供的consoleAPI中提供了多重多樣的輸出方式,詳細(xì)的請戳這里,說明如下:
可以看到里面還有對Dom操作的的console,“%o”,"%O",什么玩意,反正這個功能我沒用過,比如下面把body打印出來:console.log('%o',document.body):
(貌似沒什么卵用
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26