▼スレッド
│
└◇910:Re[5]:アクセス制限について [moon] 01/21 19:37
└◇911:Re[6]:アクセス制限について [さると] 01/21 21:40
└◇912:Re[7]:アクセス制限について [moon] 01/21 21:59
└◇913:Re[8]:アクセス制限について [moon] 01/21 22:02
└◇914:Re[9]:アクセス制限について [さると] 01/22 01:08
└◇915:Re[10]:アクセス制限について [moon] 01/22 08:57
└◇916:Re[11]:アクセス制限について [さると] 01/22 09:49<-last
> で、具体的に$dneyの処理を追加した場合スレッド一覧
>
> #アクセス制限
> &get_host;
> if ($deny) {
> $flag=0;
> foreach ( split(/\s+/, $deny) ) {
> if ($host =~ /$_/i) { $flag=1; last; }
> }
> if ($flag) { &error("ただ今ご利用できません"); }
> }
>
> こんな感じになると思うのですが、どこを修正すれば機能するようになるでしょうか?
$denyを定義すれば問題無く動作すると思います。
$denyの書き方は、host.example.ne.jpと192.168.0.1を含むホストアドレスを拒否する場合は'host\.example\.ne\.jp 192\.168\.0\.1'と書けば良いです。
要するに拒否したいホストアドレスのリストを空白で区切って書けば良いだけです。(正規表現で判定するのでそのあたりは書き方に注意)
> $denyを定義すれば問題無く動作すると思います。スレッド一覧
> $denyの書き方は、host.example.ne.jpと192.168.0.1を含むホストアドレスを拒否する場合は'host\.example\.ne\.jp 192\.168\.0\.1'と書けば良いです。
ID作成時に記録されるIPアドレスは**.**.**.と数字が3つまでしかなくて、最後の1つがありませんよね
このせいなのかわかりませんが、指定しても機能していないようなのです
パールチェックではsyntax OKとなっていますので、スクリプトそのものは間違ってないと思うのですが、他にも修正を加える部分があるのでしょうか?
追加したのは以下の2つだけです
#拒否するホスト
$deny = ''
#アクセス制限
以下省略
> ID作成時に記録されるIPアドレスは**.**.**.と数字が3つまでしかなくて、最後の1つがありませんよねスレッド一覧
そうでしたね。
そうするとhost.example.ne.jpなどのようにIPではない場合は先に書いたそのままで良いですがIPアドレスの場合は先頭の3つまでで192\.168\.0\.のように書かないと正常に機能しないということになります。
> このせいなのかわかりませんが、指定しても機能していないようなのです
> パールチェックではsyntax OKとなっていますので、スクリプトそのものは間違ってないと思うのですが、他にも修正を加える部分があるのでしょうか?
> 追加したのは以下の2つだけです
>
> #拒否するホスト
> $deny = ''
>
> #アクセス制限
> 以下省略
これだけで大丈夫だと思います。(''の後に;が無いのは写しミスだと思いますし)
とりあえずローカルテストで$deny = '.';として「ただ今ご利用できません」と表示されるか確認してこれが正常なら次に$deny = '127\.0\.0\.1 localhost';として同じメッセージが表示されるか試してみてください。
> '127\.0\.0\.1 localhost'スレッド一覧
同じ間違いを・・・。
'127\.0\.0\. localhost'です。
ローカルテストしてみましたが、'.''127\.0\.0\. localhost'どちらも普通にアクセスできてしまいましたスレッド一覧
これはやはり機能していないということですよねぇ・・・
何故なんでしょう?
> ローカルテストしてみましたが、'.''127\.0\.0\. localhost'どちらも普通にアクセスできてしまいましたスレッド一覧
>
> これはやはり機能していないということですよねぇ・・・
>
> 何故なんでしょう?
追加した場所が悪いのではないですか?
&decode;の上(つまり一番最初の処理)あたりですよ。
> 追加した場所が悪いのではないですか?スレッド一覧
> &decode;の上(つまり一番最初の処理)あたりですよ。
メインプログラムの下に追加してました・・・
失礼しました
無事機能するようになりました
有難うございました
またよろしくお願いします