このIPアクセス制限のコードをホスト制限に書き換えてもらえませんでしょうか?$host[0] = ”***.***.***”;$host[1] = ”***.***.***”;$host[2] = ”***.***.***”;$host[3] = ”***.***.***”;$host[4] = ”***.***.***”;local($match) = 0;foreach (@host) {if ($ENV{’REMOTE_ADDR’} =~ /$_/) { $match=1; last; }}if ($match) {print ”Content-type: text/html¥n¥n”;print ”<html><body>アクセスできません</body></html>”;exit;}これはCGIのアクセス制限に使っていたものですが私が全くそういう知識がないのでお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2003/07/07 11:42:23
  • 終了:--

回答(1件)

id:COFFEEBREAK No.1

COFFEEBREAK回答回数423ベストアンサー獲得回数02003/07/07 11:59:01

ポイント40pt

このページを参考に書いてみました。

任意の部分には「.*?」と書いて、ドット「.」は「¥.」と書けばいいともいます。(動作未確認)

$host[0] = ’.*?¥.abc¥.co¥.jp’;

$host[1] = ’ryucc-.*?¥.ppp¥.odn¥.ad¥.jp’;

(略)

local($match) = 0;

$host = $ENV{’REMOTE_HOST’};

$addr = $ENV{’REMOTE_ADDR’};

if ($host eq $addr) { $host = gethostbyaddr(pack(’C4’,split(/¥./,$host)),2) || $addr; }

foreach $c_host(@check_host) {

if ($host =~ /$c_host/) { $match=1; last; }

}

if ($match) {print ”Content-type: text/html¥n¥n”;

print ”<html><body>アクセスできません</body></html>”;

exit;

}

id:kaio-8969

’とか”は半角ですよね?

何か自分のIPをアクセス拒否対象にしていろいろやってみたのですが、どうしても拒否されません。

今更ですが元のコードでも自分のIPを入れて実験してみたのですがこれも入れてしまいます。

いったいどうしてなんでしょうか?

2003/07/07 13:22:52

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません