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