Calender
Sun Mon Tue Wed Thu Fri Sat
 123456
78910111213
14151617181920
21222324252627
28293031   
<< July 2019 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< 晩飯 | main | Content-type: text/plain のIEの挙動 >>
WEB空間で動的に拡張子にて個別カスタマイズ、アクセス制御
 コンテンツの管理上、そのフォルダに管理用のXML、データファイル等を一緒に置いておきたい場合、配信時に静的コンテンツに、何かの情報を埋め込んだり、何かの条件で外部からのダウンロードを抑制したりしたい場合、httpd.conf にその拡張子に対するハンドラを追加(AddHandler+Action)することにより配信時処理を追加することが出来ます

例1:XMLファイルを直接落とさせない場合

Action null-handler /cgi/null.php

AddHandler null-handler .xml

 この場合このxmlファイルに対するアクセスはnull.phpが処理するようになります
・null.php
<?

header("Content-Type","plain/text");

echo "dont direct access : ".$_SERVER["REQUEST_URI"];

?>

例2:datファイルにダウンロード元クライアントヘッダ情報を埋め込む

Action imp-handler /cgi/implant.php

AddHandler imp-handler .dat


・implant.php
<?

header('Content-Type: application/octet-stream;');

$dat = file_get_contents( $_SERVER["DOCUMENT_ROOT"].$_SERVER["REQUEST_URI"] );

echo $dat . print_r(getallheaders(),true);

?>
  AddHanderディレクティブの記述位置は「サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess」に記述できる為、ダウンロードコンテンツ毎に情報(頒布元・配信先情報)を埋め込んだり、アクセス制御などを行うには使えそうです

 画像などにウオーターマーク等を動的に入れたり、画像を動的に縮尺・変換したり等もGDなどでハンドラを書くだけで実現できそうですね。
| Linux | 16:22 | comments(0) | trackbacks(0) |









http://blog.jojo.jp/trackback/825232