swfにセッション情報を渡す方法

1.PHPでセッションIDを取得する。

$_COOKIE['PHPSESSID']

2.取得したセッションIDをGETでswfに渡す。

xxx.swf?sessionid=$_COOKIE['PHPSESSID']...

3.FLASH側で、URLLoader+URLRequestを使ってsession.phpを呼び出しセッションIDを渡す。

var sessionid:String = loaderInfo.parameters['sessionid'];
var loader:URLLoader = new URLLoader();
var request:URLRequest = new URLRequest(http://xxxx.xxx/session.php?sessionid=" + sessionid);
loader.addEventListener(Event.COMPLETE, comp);
loader.load(request);
public function comp(eventObject:Event) {
  var data:String = eventObject.target.data;
  var value:URLVariables = new URLVariables(data);
  for (var str:String in value){
    test = value[str];
  }
...
}

4.session.phpは以下の内容になります。
サーバーOSがCentOSの場合、セッションふぃあるの格納先は「/var/lib/php/session」、頭文字が「sess_」となります。

<?php
  $sess_value = @file_get_contents('/var/lib/php/session/sess_' . $_GET['sessionid']);
  preg_match('/(.*?)\|(.*?)\:(.*?)\:"(.*?)";/', $sess_value, $matches);
  $date = $matches[4];
  print 'sessionid=' . $date;
?>

コメント

タイトルとURLをコピーしました