• 締切済み

Perlを使ったアクセス制限方法

CGIのページにアクセス制限を掛けたいと思い 検索エンジンを使い色々探しまして下記のアクセス制限方法を見つけました。 http://easycgi.xrea.jp/perltips/acclimit.htm を参照して CGIの最初(#!/usr/bin/perl の次の行)に下記スクリプトを埋め込みました。 sub check { @hosts = ('hoge.ne.jp','hoge.co.jp'); $host = gethostbyaddr(pack("C4", split(/\./, $ENV{'REMOTE_ADDR'})), 2) || $ENV{'REMOTE_ADDR'}; foreach $i (@hosts) { if ($host =~ /$i/) { print "アクセスが許可されていません。\n"; exit; } } } リモートホストでアクセス制限を行いたいのですが 上記の方法を試しても、hoge.ne.jpとhoge.co.jpからアクセス出来てしまいました。 htaccessを使わずにCGIページへアクセス制限を掛ける方法はないでしょうか? 何かアドバイス頂けると助かります。

みんなの回答

  • e_watt
  • ベストアンサー率71% (25/35)
回答No.2

もしや、checkをどこからも呼んでいない (どこにも check(); と書いていない)とかでしょうか...?

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

ひとまずは、$hostがどうなっているのか、$host =~ /$i/ が期待通りなのか、ファイルなり画面なりに出力するようにして、どこで期待通りの動作をしていないか確認してはどうでしょう

関連するQ&A

専門家に質問してみよう