[過去ログ] bbs.cgi 再開発プロジェクト (1001レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
292: 228 03/05/22 21:31 ID:uX3vIszm(1) AAS
>>291
あ、そーか > どのみちuse Socket;が必要
293: 名無しさん@お腹いっぱい。 03/05/23 21:07 ID:OT1u1hME(1) AAS
ポトスキャンイラネ
294(1): 名無しさん@お腹いっぱい。 03/05/24 01:08 ID:9gP9daTy(1) AAS
>>291 そーす見てないおらが言うのも何だが、今のbbs.cgiって
use Socket;
してるんだろうか? なんかプリミティブなsocket()使ってる
と想像していたが...ホントのところは如何?
それが判ったところで、どうというものでも無いか。
個人的な趣味としては
Perlなのに軽い動作(どーやって作ったんだろうと思わせるような)
見かけは思いどおり動作してるが、たまにオチャメな振舞いもする。
(けど、一線を越えることはない; 鯖に侵入されるとか)
295: サザン ★ 03/05/24 15:25 ID:??? AAS
>>294
必要な時はやってます、<use Socket;
もちろん、必要のない時はしないです、
296(1): 名無しさん@お腹いっぱい。 03/05/24 20:49 ID:NKDnqI+C(1) AAS
useって存在するだけで問答無用にモジュールが取り込まれますが
↓エラーになる
-------------
exit;
use XXX;
-------------
↓大丈夫
-------------
exit;
require 'XXX.pl';
省2
297(1): 名無しさん@お腹いっぱい。 03/05/24 21:39 ID:ASD3Nbhg(1) AAS
perl -w -e 'exit;' -e 'use Socket;'
でなにも文句いわれませんでしたが何か?
298: ●゜、⊃゜) ◆13ThomasYo 03/05/24 22:14 ID:rfzeuaJD(1) AAS
>>297
>>296の意味が根本的にわかってないバカ。
実在するモジュールを指定すればエラーにならないのは当たり前。
299: 名無しさん@お腹いっぱい。 03/05/25 21:02 ID:GSOZSVFo(1) AAS
なんか酔うわからんけど、がんばって
300(2): ◆cZfSunOs.U 03/05/26 02:46 ID:LSGpvbOy(1/3) AAS
とりあえず>>162で言ってた Apache モジュール作ってみますた.
外部リンク[c]:202.228.205.19
で,ディレクティブは
IPList type file
type: "Black"または"White"
file: リストのファイル名
[使用例]
<Files bbs.cgi>
IPList Black /path/to/proxylist
</Files>
省11
301(1): ◆cZfSunOs.U 03/05/26 03:06 ID:LSGpvbOy(2/3) AAS
>>300getしてた(w
それはともかくとして,名前空間の衝突を避けるため,
ディレクティブ名を変更して"AuthzIPList"にしますた.
AuthzIPList type file
type: "Black"または"White"
file: リストのファイル名
[使用例]
<Files bbs.cgi>
AuthzIPList Black /path/to/proxylist
</Files>
省1
302(1): 名無しさん@お腹いっぱい。 03/05/26 10:48 ID:GliwXA6c(1) AAS
>>300-301 おつかれ様です
このモジュールの評価としてはApacheにもともとある
Deny/Allow ディレクティブの動作との比較になるん
でしょうか。
あと、Errorページの出し方なんかもHTTPエラーコード
と含めて考える必要はあるですよね?
303: 名無しさん@お腹いっぱい。 03/05/26 18:13 ID:AZkY9/Zp(1/3) AAS
ファイル構造(inode)というDBを使用するのはどうだろう?
アクセス禁止情報は、たとえば *.proxy.expample.comなら、
/forbidden/com/example/proxy
というフォルダとファイルを生成しとく。(DNSの逆引きみたいに)
ホストが host01.proxy.example.com だとしたら、
ひっくりかえして、com.example.prxy.host01だから、
/forbidden/com/example/proxy/host01をopenしてみる。
なければ、/host01を削って、と繰り返せば、数回のIOでカタがつく。
あるいは逆に、forbidden/comからopenが失敗するまで延ばしていってもいい。
メモリディスクなら、IOも問題にならないし
省1
304(1): 名無しさん@お腹いっぱい。 [ sage ] 03/05/26 18:21 ID:AZkY9/Zp(2/3) AAS
そして何より、
・perlのモジュールを読む必要はない
・制御ファイルを解釈してデータ構造を構築する必要はない
ので初期化コストがほぼかからないし、
・排他管理とか面倒なところはOSがやってくれる
・bbs.cgiを弄ったりしなくても、アクセス制御が変更できる。
・ファイル構造はどこにでもある
という利点がある。
305: 名無しさん@お腹いっぱい。 03/05/26 18:36 ID:hmxoj0Ab(1) AAS
>>304
そのやり方だと、tky*.hoge.puni.net というように
部分文字列で絞ってアクセス規制をかけることが難しくなるよ。
306: 名無しさん@お腹いっぱい。 03/05/26 18:49 ID:AZkY9/Zp(3/3) AAS
net/puni/hogeのファイル中に/tky/とか書けば解決する気もする
(そこからはリニア検索でもOKだと思う)
307: ◆cZfSunOs.U 03/05/26 22:13 ID:LSGpvbOy(3/3) AAS
>>302 そうですね.アクセス拒否の場合は普通に"403 Forbidden"を
返すので,エラーページは ErrorDocument で指定できますね.
308: 304 [ sage ] 03/05/27 02:33 ID:bDKAl7Ph(1) AAS
とりあえず、ホストチェックの部分だけ提示しとく。
$PATH_ACCESS = "/access";
sub hostcheck()
{
my ($HOST) = @_;
my @host = split( /\./,$HOST);
for( $i = 0; $i <= $#host ; $i++){
my $path = $PATH_ACCESS;
for( $j = $#host; $j >= $i; $j -- ){
$path .= "/" ;
省20
309(1): 名無しさん@お腹いっぱい。 03/05/31 18:57 ID:w3WUph25(1) AAS
なんでPerlなの?
310: 名無しさん@お腹いっぱい。 03/05/31 19:00 ID:y1U3+SHz(1) AAS
>>309
ひろゆきでも弄れるから、かな?
311: 名無しさん@お腹いっぱい。 03/06/01 10:13 ID:2FZYHTxD(1) AAS
だったらPerlにしないほうが(ry
上下前次1-新書関写板覧索設栞歴
あと 690 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.014s