我讀的人聲稱,當任意用戶輸入的代碼運行的eval是不安全的。我理解在訪問文件系統的服務器上運行的其他語言中的這一點。但是,爲什麼在瀏覽器中執行代碼時這很重要?畢竟,你是不是可以直接啓動Firebug並編寫任何你想要的任意腳本?那麼eval有什麼不同呢?
14
A
回答
19
eval
的危險只會在你服務由愛麗絲向用戶bob爲bob的瀏覽器評估的腳本提供醜陋的頭時。
例如如果bob在你的頁面上輸入他的密碼,alice可以在你輸入的用戶輸入中編寫一個鍵盤記錄器,並將數據編碼成一個腳本,以便bob將(不知不覺)提交給愛麗絲。正如@Hunter2在評論中提到的那樣,這是XSS攻擊。
如果沒有投放到其他人,你是在假設它相當於發射了螢火蟲
正確
2
不認爲這是不安全的,爲最偏執的執行eval = null;
相關問題
- 1. 「不安全-EVAL」
- 2. 的JavaScript的eval()和安全
- 3. 這爲什麼不安全?
- 4. 爲什麼Generics.Collections.TObjectList.List不安全?
- 5. __caller__爲什麼不安全?
- 6. 爲什麼不EVAL空不是在TCA
- 7. 爲什麼C#中的ArrayList不安全?
- 8. Javascript安全問題/使用eval()
- 9. 爲什麼「strcat」被視爲「不安全」?
- 10. 爲什麼eval()存在?
- 11. 爲什麼閉包比JavaScript中的全局變量更安全?
- 12. 爲什麼我的javascript不被認爲是安全的?
- 13. 爲什麼我的安全iframe被報告爲不安全?
- 14. 爲什麼在Flash中使用複製粘貼而不是在Javascript中安全?
- 15. JavaScript字符串作爲命令行,爲什麼不eval()?
- 16. 這是eval()在Python中安全嗎?
- 17. 爲什麼我的cookie不安全?
- 18. 爲什麼內聯JS塊不安全?
- 19. 爲什麼MAVLink協議不安全?
- 20. 爲什麼會話ID cookie不安全
- 21. 爲什麼Django函數django.views.static.serve()不安全?
- 22. SimpleDateFormat - 不安全,但爲什麼?
- 23. 爲什麼eval()在Javascript中給出了未定義的值?
- 24. 爲什麼CopyOnWriteArrayList安全?
- 25. vsnprintf爲什麼安全?
- 26. JavaScript中的eval函數有什麼用?
- 27. 爲什麼肥皂是安全的?爲什麼不使用HTTPS?
- 28. 爲什麼「example.it」安全並且「www.example.it」不安全?
- 29. 爲什麼在中斷中不能安全使用mutex_trylock?
- 30. 爲什麼(0 || eval)在Opera中不被視爲間接?
'的eval() `可能是XSS攻擊媒介,如果你不小心 – PaoloVictor 2011-01-27 03:01:47
請進一步解釋 – 2011-01-27 03:04:45