2015-08-17 37 views
0

eval v.s.有什麼不同?你可以在瀏覽器開發者控制檯中做什麼?是它不使用更安全eval,至少,您的代碼的計算結果在一定的上下文中的用戶輸入,並且,它也可以登錄(和掃描)輸入執行之前....javascript eval v.s.瀏覽器控制檯篡改,在安全上存在差異

+1

你能解釋一下你的問題嗎? – Grundy

+0

用戶可以隨時訪問javascript控制檯,或將腳本插入將執行的頁面中。與eval的區別在於您冒着在其他用戶機器上執行用戶生成代碼的風險。 – som

+0

我不知道你的意思是「*你的代碼在特定的上下文中評估用戶輸入,並且它也可以在執行前記錄(並掃描)輸入*」。順便說一句,開發者控制檯確實也使用'eval' – Bergi

回答

0

Browser consoleeval()是兩個不同的東西...
在我看來無法比擬的就這樣

  • 瀏覽器控制檯其內置的瀏覽器(和它,它的具體javascript interpreter瀏覽器)
    讓您執行代碼除了許多其他的事情。

Web控制檯:記錄與網頁相關的信息:任何網絡請求, 的JavaScript,CSS,安全性錯誤和警告以及錯誤, 警告和提示信息明確由JavaScript記錄 代碼在頁面上下文中運行使您能夠通過在頁面上下文中執行JavaScript表達式來與Web頁面進行交互。

* Browser Console就像Web Console,但應用於整個 瀏覽器而不是單個內容選項卡。


Chrome DevTools Console panel是您在實時頁面直接 互動的焦點。控制檯允許您使用 標準JavaScript語句和特定於控制檯的命令,而 頁面在瀏覽器中可以幫助您調試頁面。查看 診斷消息,顯示原始和結構化數據,控制和過濾器輸出,檢查和修改頁面元素,測量執行 時間等等。


  • 的eval()其一個javascript method

eval()方法評估表示爲一個字符串的JavaScript代碼。


所以,是的,還有他們和之間有很大的區別,你可以做 ...
......但最重要的是你怎麼做。

現在,你問既「選項」約安全隱患,但我認爲這是在你提出這個問題的方式過於模糊,可能是用戶具體的答案這取決於我們如何解釋什麼你試圖澄清..

我相信你需要澄清/詳細說明你的問題,並給我們一些真實的例子。
或許不是,這迷你解釋就足以說明你懷疑

0

我想用eval內的代碼運行在eval被稱爲在你的代碼的情況下,而開發者控制檯只能訪問全局變量,因此只能訪問你寫的代碼,但不一定是由它的執行產生的實時數據,但我不知道有關漏洞或漏洞。