2011-10-20 66 views
0

我不是專家,也不想犯錯,所以請原諒我,如果答案顯而易見(比對不起更安全)。在共享主機上保護Flex應用程序

我完成了一個使用FB4.5的Flex應用程序,並將其上傳到共享主機並進行了測試。我現在正在使用https保護應用程序,但已陷入泥潭。

第一: 我強制使用.htaccess將所有頁面加載到https,以便Flex應用程序使用SSL加載。問題在於,當應用程序使用gateway.php文件進行數據服務調用時,由於.htaccess強制(它正在查找http而不是https),導致連接失敗('BadVersion')。我相信我可以在Flash Builder類文件中對https路徑進行硬編碼,但我不希望阻止應用程序在我的開發計算機上工作。這裏有什麼想法?

此外,即使使用SSL調用gateway.php文件,由於.htaccess指令強制使用SSL,以下對包含實際SQL查詢的PHP文件的調用是否會失敗。

第二個: 除了使用.htaccess之外,我還成功地使用PHP在開始時使用https重定向語句確保應用程序的初始啓動。這允許應用程序工作,調用gateway.php文件罰款,因爲它不會強制所有的HTTPS。但是,這打破了試圖讓所有東西都被加密的目的。

第三: 是否有必要在SSL上啓動gateway.php文件,因爲在二進制AMF中傳輸?

想法?解釋嗎?我錯過的東西。建議?

在此先感謝。

+0

馬蒂是正確的錯配。 RemoteObject類根據指定的'_serviceControl.endpoint'設置AMF類型。有幾種方法可以做到這一點,但如果你不想爲每個你正在使用的服務器進行編譯,請參閱以下鏈接: 1)http://www.mikenimer.com/?p=320 2) http://margopowell.wordpress.com/2009/05/18/reading-flashvars-in-flex/ – wordsmith

回答

2

如果您的AMF呼叫正在通過HTTPS,那麼您需要使用SecureAMFChannel而不是香草AMFChannel

典型地,這可以在客戶端中進行配置,您已在其中聲明瞭RemoteObjectChannelSet或在services-config.xml文件中。

最有可能的是,這種不匹配是什麼導致你得到的BadVersion錯誤。

+0

謝謝馬蒂。你的回答使我朝着正確的方向前進。 – wordsmith

+0

@Marty皮特 - 這是什麼讓這個網站去:) – Ryan

+0

我是這樣一個小白。你明白了 - 我必須查找如何接受答案! http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – wordsmith