- 締切済み
アクセス制限につきまして
こんにちは CGIにアクセス制限をつける方法で悩んでいます。 例えば、CGIのパラメータをPATH_INFOで渡す場合、 http://...../cgi-bin/xxx.cgi/引数 といった呼び出し方ができますが、 http://...../cgi-bin/xxx.cgi/aaa とした場合と、 http://...../cgi-bin/xxx.cgi/bbb とした場合とで別々のパスワードをかけることは可能でしょうか? 単純にhttp://...../cgi-binに対してパスワードをかけるのなら、.htaccessを使ったBASIC認証で十分なのですが、引数別にパスワードを設けたい場合に、なにか便利な方法はないものでしょうか? CGIそのものはperlで書いています。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- zxcv0000
- ベストアンサー率56% (111/196)
回答No.2
<Files> ディレクティブや <FilesMatch> ディレクティブ は .htaccess にも書けるみたいですが、それでもうまくいかないんでしょうか? あるいは ErrorDocument ディレクティブで CGI に処理させる方法は、PATH_INFO の代替手段として使えないんでしょうか? # 私は PATH_INFO を使った事なくてできるはずかどうかも知らないんですが...
- lesstia
- ベストアンサー率45% (44/96)
回答No.1
受け取った引数のif文内で制御すればよいのではないでしょうか? if ( $ENV{"PATH_INFO"} eq 'aaa' ) { $pass='aaapass'; } else if ( $ENV{"PATH_INFO"} eq 'bbb' ) { $pass='bbbpass'; } というような感じで。
補足
お返事ありがとうございます。 $passに値を代入したあと、いったいどうすればよいのでしょうか・・・・。