什麼是沙盒?
回答
一個sandpit or sandbox是低,寬容器或淺的凹陷裝滿沙子,使兒童可以玩。許多有孩子的房主在他們的後院建造沙坑,因爲與許多操場設備不同,它們可以容易且廉價地構建。 「沙坑」也可以表示露天礦砂礦。
那麼,一個軟件沙箱沒有什麼不同,沙箱是爲孩子玩的。通過給孩子提供一個沙盒,我們可以模擬真實遊戲場地的環境(換句話說,就是一個isolated environment
),但限制孩子能做什麼。因爲我們不希望孩子受到感染,或者我們不希望他給別人造成麻煩。 :)原因是什麼,我們只是想限制孩子能爲Security Reasons
做些什麼。
現在來到我們的軟件沙箱,我們讓任何軟件(孩子)執行(播放),但對他(他)能做的事情有一些限制。我們可以感受到安全&安全關於執行的軟件可以做什麼。
您見證了&使用防毒軟件。對?它也是一種沙箱。它限制了任何程序可以執行的操作。當檢測到惡意活動時,它會停止並通知用戶「此應用程序試圖訪問so so & so resources。Do do want to allow?」。
下載名爲sandboxie的程序,您可以獲得有關沙盒的體驗。使用此程序,您可以在受控環境中運行任何程序。
紅色箭頭表示從正在運行的程序流入您的計算機的變化。標有硬盤(無沙箱)的框顯示正常運行的程序所做的更改。標有硬盤(帶有沙箱)的方框顯示了在Sandboxie下運行的程序的更改。該動畫表明,Sandboxie能夠攔截這些變化並將其隔離在一個沙箱內,如黃色矩形所示。它還說明將更改分組在一起可以輕鬆一次刪除所有更改。
現在,但從程序員的角度來看,沙箱限制被允許應用程序的API。在防病毒示例中,我們限制了系統調用(操作系統API)。
另一個例子是在線編碼競技場,如topcoder。您提交了一個代碼(程序),但它在服務器上運行。對於服務器的safety
,它們應該限制程序的API訪問級別。換句話說,他們需要創建一個沙盒並在其中運行你的程序。
如果你有一個適當的sandox,你甚至可以運行一個受病毒感染的文件,並停止病毒的所有惡意活動,並親自看看它正在嘗試做什麼。事實上,這將是防病毒研究人員的第一步。
更多的時候我們可以參考the other sandbox。
在反正沙箱常常意味着一個隔離環境。你可以在沙箱中做任何你喜歡的事情,但是它的效果不會在沙箱外傳播。例如,在軟件開發中,這意味着你不需要搗亂/usr/lib
中的東西來測試你的庫等。
這不是一個真正的問題答案...... – Francis 2010-01-24 06:31:05
這個沙盒定義基本上意味着擁有測試環境(開發人員集成,質量保證,舞臺等) )。這些測試環境模仿生產,但他們不共享任何生產資源。他們有完全獨立的服務器,隊列,數據庫和其他資源。
更常見的是,我見過的沙箱指的是像虛擬機這樣的東西 - 隔離機器上的一些運行代碼,以便它不會影響基本系統。
對於軟件開發中的「沙箱」,它意味着開發時不會以孤立的方式打擾其他人。
它與版本控制不相似。但是一些版本控制(作爲分支)方法可以幫助製作沙盒。
舉一個具體的例子:假設你有一個處理匯款的應用程序。在生產環境中,真錢交換。在沙箱環境中,一切運行完全一樣,但錢是虛擬的。它用於測試目的。例如,
Paypal提供了這樣的沙箱環境。
Google NaCl可能是一個很好的例子,你可以在那裏找到很多很好的例子和解釋。
虛擬機是sendbox的最好例子,VM是一臺完整的主機,傳統的操作系統可以像在實際硬件上一樣啓動和運行。客戶操作系統運行沙盒,意思是它不能在主機上本地運行,並且只能通過仿真器訪問主機資源
- 1. 遠程或本地沙盒,爲什麼不是兩個?
- 2. 沙盒線程
- 3. 沙盒腳本
- 4. 沙盒賠付
- 5. Paypal沙盒INTERNAL_SERVICE_ERROR
- 6. 沙盒MSBuild
- 7. 什麼是extjs沙箱?
- 8. 與沙盒應用
- 9. 細粒度沙盒
- 10. 沙盒JavaScript輸出?
- 11. SPARQL入門,沙盒
- 12. 在沙盒應用
- 13. 什麼是「盒子模型?」
- 14. Paypal沙盒IPN總是失敗
- 15. Shopify是否提供沙盒功能?
- 16. Express Payments rails模塊需要什麼樣的PayPal沙盒帳戶?
- 17. PayPal沙盒 - 與實際購買價格有什麼不同?
- 18. 安裝yesod-bin之後,爲什麼cabal沙盒會被加入?
- 19. 什麼是紅盒子,黃盒子和綠盒子測試?
- 20. 正在尋找http沙盒
- 21. JAVA-沙盒&虛擬&堆
- 22. CCAvenue沙盒網站測試
- 23. PayPal顯示沙盒交易
- 24. OS X沙盒問題
- 25. C#:沙盒和性能(MarshalByRefObject)
- 26. 沙盒操作系統
- 27. GDAX沙盒修復連接
- 28. iPhone沙盒規則文件
- 29. 打開使用沙盒
- 30. C++沙盒動態庫
感謝@克拉克神奇的解釋。 – Lazer 2010-01-25 08:53:26
@ claws:謝謝你的解釋。 – Dipak 2014-07-02 04:57:38
這是我見過的主題的最佳解釋 最好的部分是防病毒研究員, – Milad 2014-10-16 15:54:23