SSL通信でFlashから別ドメインのPHPにPOSTする時のIE6/7/8のエラー

■環境
①https://hoge.com/index.html
・トップページにはFlashのフォームがあり、②のサーバにデータを送信する。

②https://example.com/index.php
・Flashからデータを受け取りDBに登録する。
・XMLを出力しFlashに返す。

■現象
・SafariやChrome・FireFox・IE9では正常に登録できる状態で、
IE6/7/8ではPHPへデータを送信できていない。

■その他
・https://example.com/crossdomain.xmlは設置済み
[cclN_html lines=”10″ tab_size=”2″]



[/cclN_html]

■解決策
いろいろ調査した結果、example.comに置いてあるPHPのCache設定がよくないらしい、、、
IEのバグらしくSSLでアクセスしたときにsession_cache_limiterがnocacheだとFlashから読み込めないんです。

SSL 経由でファイルのダウンロードを Internet Explorer キャッシュ コントロール ヘッダーが機能しません

PHPのsession_start();を行う前に

[cclN_php lines=”5″ tab_size=”2″] session_cache_limiter(‘private’);
[/cclN_php]

を追記。

session_cache_limiter

そして、ページを描画する前にheaderでLast-Modifiedを送信することで、
キャッシュに残っているPHPを読み込みなおしてくれます。
[cclN_php lines=”5″ tab_size=”2″] header(“Cache-Control”,”public”);
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . “GMT”);
[/cclN_php]

今回はFacebookのJavascript SDKが使い物にならず、
PHPのSDKを使うことから始まりました。
そもそもFlashから直接SDKを使用すると、OAuth以外まともに動いてくれませんでした。

PHP用のFacebook SDKは優秀で、コードを殆ど書かなくても使用できるのが便利です。
TwitterのOAuthよりかなり簡単です。
しばらくは、自前のFlash用SDKを使用して、Facebookとのやりとりを行うとします。

0 0
Article Rating
申し込む
注目する
guest

0 Comments
インラインフィードバック
すべてのコメントを見る
0
あなたの考えが大好きです、コメントしてください。x