特定条件からのみ正しいレスポンスを返す

Flashから通信した際にreferrerが取れないというIEのバグ(仕様?)があるので,referrerのチェックでは同一ドメインかどうか分からない.
しかたないので,特定の条件のリクエストに対してのみデータを返すように.
具体的には特定のヘッダー情報があるリクエストに対してだけデータを返す方法.

Flash

var testXML:XML = new XML();
var loadXML:XML = new XML();
loadXML.ignoreWhite = true;
loadXML.onLoad = function(success:Boolean):Void {
  trace(unescape(this.toString()));
};
testXML.addRequestHeader('HOGE', 'FUGA');
testXML.sendAndLoad('**.php', loadXML, 'POST');

httpd.conf

<Location /phpfile.php>
    SetEnvIf HOGE "^FUGA$" TEST=1
</Location>

HOGE: FUGA
というヘッダー情報に関するリクエストに対して環境変数TEST=1を設定してあげる.
あとはPHPとかで

php

if ($_SERVER['TEST'] == 1) {
	// do something
}

としてあげると,特定のリクエストヘッダーがあるリクエストに対してのみ任意のレスポンスを返せる.


contributor nao : 2006年11月26日 02:50

comment