lq.pl Ver.0.97
このプロキシ制限ライブラリ( lq.pl )は、できるだけ簡単な設定で、プロキシサーバー経由やその他の匿名性の高いアクセスを制限することにより、掲示板荒らしなどを排除しようとするものです。従って、プロキシサーバーなどのアクセス制限は画一的になってしまうので、会社や学校などのようにプロキシサーバー経由でなければアクセスできない訪問者がよく利用するような掲示板などでは使い辛いかもしれません。ISP(プロバイダ)などからのいわゆる「生IP」による訪問者が多い個人HP(ホームページ)の掲示板などでご利用ください。
このプロキシ制限ライブラリは、掲示板などのスクリプトのサーバーへの設置はなんとかできるが、perl の知識はないというような人にも簡単に組み込むことができるように考慮して作成しました。悪戯防止ライブラリ( zddbbs.pl )のような面倒な設定が不要なので、緊急に荒らしを排除したい場合などにお役立てください。また、事前に組み込んで準備しておけば、いざというときの対策が容易になります。しかも、zddbbs.pl に比べて、ファイルサイズも非常に小さくなっているので、ほとんど負担なく組み込むことができると思います。
正規の訪問者であっても、会社や学校などでプロキシサーバーを使わざるを得ない場合には、この方とメールなどで連絡を取り、アクセスを拒否したIPアドレスを lq.log ファイルのログから抽出して lq.dat ファイルに登録することにより、個別にアクセスを許可することができます。
ただ、このような手続きは、結構面倒なものになり相手の方にも迷惑をかけるので、できれば普段から lq.pl ライブラリを使用してログを記録しておき、アクセスを拒否する可能性のある常連の方のIPアドレスを事前に lq.dat ファイルに登録しておくことをお勧めします。このため、lq.pl ライブラリには、ログの記録だけを行い、実際にはアクセス制限を実行しないモードが用意してあります。
また、このライブラリを使用しても、プロキシサーバー経由などの不正なアクセスが全て完全に排除できる訳ではありません。プロキシサーバーの中には、プロキシサーバー経由であることの痕跡をすべて隠してしまうものがあり、今後もそのようなプロキシサーバーが新たに設置される可能性があるからです。さらに、生IPアドレスによるアクセスであっても、そのサイトの管理者が不正利用の排除に非協力的な場合もあります。
このような場合、不正なアクセスを行った人のIPアドレスを lq.log ファイルのログから抽出して lq.dat ファイルに登録することにより、個別にアクセスを拒否することができます。
なお、ブラウザ上で、 lq.log ファイルのログからIPアドレスを指定して lq.dat ファイルに簡単にアクセス許可や禁止を登録できるようにした CGI ( lq.cgi )も用意しています。
| ファイル | 入手方法 | FTP | パーミッション |
|---|---|---|---|
| lq.pl | このページで取得 | ASCII転送 | 644 |
| lq.log | 0バイトファイルを自作 | ASCII転送 | 666 |
| lq.dat | 既存又は0バイトファイルを自作 | ASCII転送 | 666 |
(以下の挿入スクリプトは、この lq_ins.txt にファイルにしてあります) # ▼▼プロキシ制限ライブラリ▼▼ require './lq.pl'; if ( &lq'pl( 1 ) ) { print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print '<H3>アクセス制限</H3>'."\n"; print 'ご迷惑をおかけして申し訳ありません。<BR>'."\n"; print '悪戯防止のため、'; print 'ただいまプロキシサーバーなどからのアクセスを制限しています。<BR><BR>'."\n"; print '事情をお察しの上、ご理解をお願いいたします。<BR><BR>'."\n"; print 'なお、ブラウザにプロキシサーバーを設定されている場合には、'; print 'プロキシサーバーを使用しないドメインの設定欄に'; print 'ここのURLのドメインを登録してください。<BR>'."\n"; print 'また、プロキシサーバー経由でなければアクセスできない場合には、「'; print $lq'Date; print '」の日時を明記の上、ここの管理人までメールをお願いします。'."\n"; print '当該IPアドレスからのアクセスの制限を解除させていただきます。<BR>'."\n"; print "</BODY></HTML>\n"; exit; } # ▲▲プロキシ制限ライブラリ▲▲
lq.dat ファイルは、エディタなどで編集して FTP でHPに設置してもいいのですが、ブラウザ上で簡単にIPアドレスの登録を行うCGI( lq.cgi )も用意してあります。
ファイル 使用方法 FTP パーミッション lq.txt lq.cgi に名称変更 ASCII転送 755 ただし、このCGIは、掲示板などの管理人だけがアクセスできるようにするためパスワードなどの設定が必要になります。
lq.cgi スクリプト内部でパスワードを
$password = 'ABCDEFGH'; # 認証用パスワード
のように設定した場合、
このCGIを
http://…URL…/lq.cgi?pwd=ABCDEFGH
として呼び出します。
ただし、ここでは lq.cgi 内にパスワードが平文で設定されるので、暗号化が必要な場合は、ここなどを参照して、cryptを使用するように改造してください。
また、必要に応じて認証用IPアドレスを設定しておいてもいいでしょう。認証用IPアドレスは、あなたがインターネットに接続したときのIPアドレスを設定します。
ISP(プロバイダ)を経由する場合などのように、IPアドレスが接続のたびに変化する場合には、IPアドレスの先頭から共通する部分までを設定します。
例えば、133.213.75.74〜133.213.75.138などのような範囲で変化する場合は、
lq.cgi スクリプト内部の認証用IPアドレスを
$addr = '133.213.75'; # 認証用IPアドレス
と設定します。
(厳密には、$addr = '133\.213\.75'; と設定するのが正確です)
もし、設定方法が分からない場合には、こちら までメールください。
ここの zddbbs のページのターゲット用の掲示板(オリジナル版)に lq.pl ライブラリを組み込んであるんで(ただし、ログを記録するだけです)、実行イメージを下で試してみてください。