◆機能
HTMLなどのファイルを直接表示するのではなく、CGIを中継して表示させることが可能になります。
つまり、CGI機能拡張を擬似的ではありますが、HTMLに対応させることができるのです。
◇ CGIの起動について。
perlでかかれたCGIのみ実行されます。
拡張子は必ず*.cgiとしてください。 pl とするように設定されているサーバーでもgateway経由で実行されるCGIなら拡張子は[cgi]です。
拡張子が[cgi]のファイル全てをCGIとみなします。また実行するCGIのファイルオーナーがigateway.cgiのファイルオーナーと違う場合はセキュリティー上実行されません。
またigateway.cgi経由で実行されるCGI(PerlScript)は require関数にて実行されるので、CGIの最後尾(若しくは__END__の前の行)に 1; を追加する必要があるかもしれません。
(例:付属 test.cgi)またこのCGI機能は完全ではありませんので、実行できないCGIが存在するかもしれません。
◇「ファイルを保存するディレクトリ」について
このディレクトリにCGIを中継して表示させたいHTMLやgifなどの関連ファイルを設置します。
HTML同士のリンクや、IMGタグの作成方法は通常と同じ用に「相対パス」で行ないます。
<A href="link.htm"><img src="link.gif"></A>
こうすると、リンク先の「link.htm」や「link.gif」もigateway.cgiを中継して表示されるようになります。
但し次のようなリンクはigateway.cgiを中継せず直接アクセスされます。
<A href="http://hoge/link.htm"><img src="/link.gif"></A>
( http://などから始まるURLや / ルートからのリンクなど、相対パス以外のもの)また「ファイルを保存するディレクトリ」の中にサブディレクトリを作成しても構いません。
<A href="link.htm"><img src="img/link.gif"></A>
「ファイルを保存するディレクトリ」はpublic_html等(通常HTMLを設置するディレクトリ)の外に設置する事が望ましいのですが、サーバーの都合でpublic_htmlの外にファイルを作成できない場合は、絶対にばれないようなディレクトリ名やディレクトリの場所を自分で作成することで、保存ディレクトリ名の流出を防げればなんとかなると思います。
◇ あなたの好きな4桁の数字 あなたの好きな文字列
直リンク&ブックマーク禁止機能です。
このCGIを使用すると「igateway.cgi/ランダムな文字列/ファイルパス」 というURLになります。
このランダムな文字列は今から12時間〜24時間だけ有効なIDで有効期間を過ぎると強制的に「スタートファイル」に飛ばされるようになっています。
(Net Cruiser配布仕様スクリプトでは約10分〜20分でスタートファイルに飛ばされるようプログラムへ手を加えてます)
この仕組みを利用して、簡易的に直リンク&ブックマークが防止できます。$ID = "1205";
$KEY = "うどん";このIDは適当に4文字の数字を半角で記入してください。 KEYも適当に。
このIDとKEYを使用してランダムな文字列を作成しています。
◇スタートファイル について
#◇ ファイルを保存するディレクトリ(ディレクトリの位置や名前は変更すること)
$dir = "./hidden/";#◇ スタートファイル
$start = "index.htm";たとえばこのような設定だった場合、スタートファイルはhiddenディレクトリに設置されたindex.htmとなります。
このindex.htmファイルがigateway.cgiを経由して表示されるTOPページと成ります。
◇使い方
igateway.cgiにリンクをはります。
igateway.cgiにアクセスすると、スタートファイルに飛ばされます。
スタートファイルは
PATH_INFOが使えないサーバーではこのCGIは使えません。
◇表示できるファイル・ディレクトリの名前の制限
gateway.cgi で表示できるファイルの名前にある一定のルールがあります。
このルールを守らないと、エラーが表示されファイルが表示されませんのでご注意下さい。
またファイルパスの長さには基本的に制限はありませんが、URLが長過ぎると正しくアクセスできないことがあります。
◆設置方法
サーバー設置例 ファイル名 パーミッション 転送モード 解説 gateway.cgi 755 アスキー プログラム
◆CGI をテキストエディタで開き設定項目を必要に応じて変更してください。
1行目の設定もわすれずに。
◆CGIをサーバーに「サーバー設置例」を参考に転送します。
◆設置したCGIにブラウザから直接アクセスして、CGIが動けば設置完了です。
◆もし上手く作動しなかかった場合
・あなたのサーバーはCGIを使用する事が可能ですか?
・パーミッションの設定は合っていますか?
・ファイルの名前はあっていますか?
・CGIファイルの1行目はサーバーの設定に合っていますか?
◆製作参考資料
apache mime.types
ファイルタイプの一覧はここを参考にさせていただきました。
Copyright (c) 2001CGIROOM
edit dy Net Cruiser