2011-10-20 67 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