特定のホストからアクセス制限するには?

[上に] [前に] [次に]
えおりあんはーぷ 2000/03/28(火) 08:32:19
初めて質問させていただきます。
私が開設している掲示板に最近荒らしに近い人が出没し困っています。

.htaccessによる制限、CGIによるアクセス制限などありいろいろ
調べましたが、よく分からない点があります。

ryucc-02p18.ppp.odn.ad.jpに制限をかける場合
大抵後ろ3つとってodn.ad.jpに制限をかけることが多いと思うの
ですが、これをしてしまうとODNを利用している人全員に制限を
かけてしまい、これでは私自身も利用することが出来ません。

そこでなんですが、ryucc-02p18.ppp.odn.ad.jpの1区切り目の
最初の4文字「ryucc」はダイヤルアップでも変わりません。この
4文字を含むODNからのアクセスだけを制限することは可能で
しょうか。

パスワード制という手もあるでしょうが、利用者が多くてそうい
うわけにもいきません。よろしくお願いします。

えおりあんはーぷ 2000/03/28(火) 08:33:56
すいません。最初の4文字ではなくて5文字でした。
どうぞよろしくお願いします。

らてる 2000/03/28(火) 12:56:22
ワイルドカード的なことはできないはずですので、
IPアドレスで制限をかけてみてはいかがでしょうか。
Cクラス2つぐらいでカバーできそうですが。

ラオウ 2000/03/28(火) 14:06:14
アクセス制限かける前にプロバイダに通報しなよ

茶しぶ男 2000/03/28(火) 14:32:22
 どっかの掲示板にあった、こんなシステム使ったら?

@check_host = (
'ryucc-*.ppp.odn.ad.jp'
);
# アクセス制限とは登録されたホスト名からの全てのアクセスを拒否します。
# あまり使わない方がいいです。悪戯されて、初めて利用すること!
# 例 proxy.mdu.ac.jp              → proxy.mdu.ac.jp
#    ppp0124.suwa.axles.or.jp     → ppp.*.suwa.axles.or.jp
#    p5721.fjs2.ap.aa-net.ne.jp   → p.*.fjs2.ap.aa-net.ne.jp
#    127.0.0.1                    → 127.0.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/) { エラー処理; }
}

[上に] [前に] [次に]