我有一個Flex前端通過RemoteObject連接到Zend Framework的Zend Amf。這是我在客戶端層(Flex)和應用程序和持久層(帶有Zend Framework的LAMP)之間傳輸數據的唯一手段。是 某些方面,我可以解決安全問題如下:Zend AMF實現和AMF協議安全
- 我可以通過我的服務-config.xml文件中使用mx.messaging.channels.SecureAMFChannel並確保Flash播放器解決TLS被加載到HTTPS包裝,是實際上使用HTTPS,因爲AMF協議分層在HTTP之上
- RemoteObject有一個setCredentials方法,我可以通過該方法傳遞AMF身份驗證頭以保護用戶相關數據。假設TLS實際上是安全的,我可以在對用戶進行身份驗證後在端點上公開方法。
- 我可以抵禦跨站點腳本和其他FLASH漏洞有正確設置的crossdomain.xml
我的問題是如何保護我的終點與另一個AMF消費者?例如,如果除了知道我的端點的我的Flex客戶端以外,還有另一個AMF使用者(不是Flash,因此不受crossdomain.xml和Flash沙盒安全性的約束),會阻止它使用端點公開的方法?
據我所知,我基本上需要一種方法來驗證我的Flex應用程序對我的Zend Amf端點。 AMF消費者認證後,我有一些上面提到的保護機制來保護某些數據(如用戶認證)。我無法在Flex swf中嵌入某種身份驗證機制,因爲swf易於反編譯(swf不可信)。雖然敏感數據通過用戶身份驗證進行保護,但未保護的數據幾乎不公開,但據我所知可完全公開供公衆使用。