![]() |
カレッヂ |
質問者 西村
投稿日 2007/8/15(水) 23:22:37
皆様はじめまして 私は個人でランキングサイトをつくっていたのですが アダルトサイトの登録攻撃がすごく閉鎖においこまれました。 惜しんで下さる方もおられたので再開したいのですが またこのままですと同じことになります。 せめて特定のメールアドレスを排除したいのですが なにぶんそこまでの知識がないものでお詳しい皆さんのお知恵を お借りできればとここにたどり着きました。 なにとぞよろしくお願いいたします。 ここのランキングサイトをつかっておりました http://dream.lib.net/room/cgi/e_ranklink.html
【習熟度】多少の設置経験 |
回答者 通りすがり
[削除]
投稿日 2010/1/28(木) 08:37:38
たぶんこれで行けると思います。 @errmail = ('yahoo.com','yahoo.ck'); #ここで禁止メアドを指定 sub decode { if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } else { $buffer = $ENV{'QUERY_STRING'}; } @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; foreach ( @errmail ) { if ($value =~ /([^\x81-\xFF\s\"\'\(\)\<\>\\\`\[\{\]\}\|]+)\@([^\x81-\xFF\s\"\'\(\)\<\>\\\`\[\{\]\}\|]+)\.([^\x81-\xFF\s\"\'\(\)\<\>\\\`\[\{\]\}\|]+)/i) { print <<"EOM"; <html> <head> <title>Error</title> </head> <body> <center>このメールアドレスは使えません</center> </body> </html> EOM } } $value =~ s/</</g; $value =~ s/>/>/g; $value =~ s/\n|\r\n|\r/<br>/g; $value =~ s/,/,/g; $buffer =~ tr/+/ /; $buffer =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &jcode'convert( *value, 'sjis' ); $FORM{$name} .= $value; } } |
返信(回答)する
Web裏技 |