是否有可能讓Flex應用程序只能從我的域運行?所以用戶不能複製.swf並在本地啓動它。如何限制Flex應用程序只能從我的網站運行?
回答
在很多情況下,由於與crossdomain.xml關聯的安全模型,這將不起作用。
http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html
例如說,我有了一個服務調用一個Flex應用程序,並登錄到我的後端數據庫(也許是PHP和MySQL)。除非我在crossdomain.xml策略文件中明確啓用它,否則應用程序將無法與我的服務器通信,除非swf文件直接從我的域加載。如果應用程序是本地的,它會看起來像我的服務器像localhost試圖通過flex應用程序訪問我的後端。因此,默認情況下,除非在crossdomain.xml中放置了明確的規則以允許從本地主機訪問,否則這將不起作用。同樣,某人不能簡單地將swf放在另一臺服務器上,並嘗試從我的服務器進行訪問,除非將該遠程服務器添加到crossdomain.xml策略中。
所以回到你的問題。顯然,如果您的flex應用程序非常簡單並且不嘗試對服務器進行服務調用,則此crossDomain.xml內容並不適用。例如,如果您有簡單的遊戲,只需在彈性遊戲中加載和播放而無需額外的服務器調用。
如果你想保護你的應用程序,你可以在啓動順序中有一個基本的「電話回家」程序,這個程序會對你的網站進行非常簡單的服務器調用。它不一定非常複雜,在您的應用程序啓動時只需要一個往返服務電話。也許檢查存儲在PHP端的變量中的簡單鍵或字符串,並且除非該鍵有效,否則不要讓flex應用程序運行。你可以在動作中硬編碼預期的鍵。或者可能有一個基本的記錄器來跟蹤應用程序啓動的次數並將計數存儲在數據庫中或其他東西。主要的是不要讓應用程序完全啓動,直到對服務器的這個請求返回了有效的結果。
如果你有這個地方,那麼crossdomain.xml策略將會啓動,如果有人下載你的SWF,它不應該工作,因爲它會嘗試從本地主機到你的服務器進行調用。或者,如果他們竊取您的應用程序並將其託管在他們的網站上,它也不應該起作用。
請檢查LiveDocs上的flash.System.Capabilities.playerType。
最簡單的辦法或許金正日檢查的
Application.application.loaderInfo.url
在應用程序啓動(例如在applicationComplete事件)的值,並與您的網站域名相匹配。
- 1. 如何限制只有我的Android應用程序訪問我的網站
- 2. 如何使用我的Adobe Flex應用程序從網站複製文本?
- 3. 限制公共webapi只限於我的應用程序和網站
- 4. 如何限制Android應用程序只運行一段時間?
- 5. 如何在智能手機應用程序上運行網站?
- 6. 如何限制網絡應用程序從特定的電腦上運行
- 7. 運行Flex應用程序
- 8. 限制FB應用程序安裝到我的網站
- 9. 如何從我的應用程序運行Facebook應用程序
- 10. 未能在我的手機上運行Flex應用程序
- 11. 如何製作一個只能從我的網站上使用的web服務(WSDL) android應用程序?
- 12. Android開發:限制用戶只運行和使用我的應用程序
- 13. 限制應用程序只能在4英寸的設備上運行IOS
- 14. 如何運行阻止網站的應用程序?
- 15. 如何限制MFC應用程序只能從已知的USB閃存驅動器運行
- 16. 如何限制應用程序只能從已知的USB閃存驅動器運行?
- 17. 讓我的應用程序只運行應用程序
- 18. 如何限制該應用程序不會在平板電腦上運行,只能在手機上運行
- 19. 我如何運行cakephp網站沒有應用程序名稱在網址中?
- 20. 如何限制我的網站只能使用IE8及更高版本
- 21. 在我的網站上運行python,C,C++應用程序
- 22. 如何限制.exe文件從C#WPF應用程序只
- 23. 如何從我的Android應用程序中喜歡網站
- 24. 如何從控制檯應用程序運行程序?
- 25. 如何限制網站只能通過移動代碼訪問
- 26. 當我從我的網站使用應用程序時,facebook權限問題?
- 27. Silverlight OOB應用程序是否仍可以從網站運行
- 28. 如何限制用戶從我的網站上下載視頻?
- 29. iPhone應用程序只顯示網站
- 30. 限制網站的Java程序