Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub foxSamba24
- {
- my ($GB, $tane, $spanspan) = @_;
- my $Samba = "Samba24-3.0";
- my $memomemo = "($Samba)";
- my ($prsize,$prmtime)= ();
- my $kanpeki = 3 ; #許容回数 ERR593 Nsec しかたっていません
- my $saidai = 5 ; #限界回数 ERR599 コーヒーブレイク、以降もう書けません。
- my $r = Redis->new(server => '127.0.0.1:6379', encoding => undef);
- $r->auth("foobared"); # redis DBのアクセスパス(デフォ)
- my $status = $r->ping;
- if(!$status) {
- return 0; # redisが落ちてる場合はスルー
- } # redisサーバの生存確認
- my $ipaddr = $tane;
- my $expire = $spanspan;
- if ($r->exists($ipaddr)) {
- my $keika = $spanspan - ($r->ttl($ipaddr));
- my $prsize = $r->get($ipaddr);
- my $prsize2 = $prsize + 1;
- if($prsize > $saidai){
- my $houhou = '<a href=\"http://etc6.2ch.net/event/\">イベント企画</a>板で一時間以上新しい面白いイベント考えてください。';
- print "Content-type: text/html; charset=shift_jis\n\n";
- print <<EOF;
- <html><head><title>ERROR!</title><meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></head>
- <body><!-- 2ch_X:error -->
- ERROR - 594 もうずっと書けませんよ。<br>
- <br>
- あなたは、規制リストに追加されました。<br><br>
- 【解除する方法】<br>
- $houhou<br>
- これ以外に解除の方法はありません。<br>
- <br><hr>$memomemo</body>
- </html>
- EOF
- $r->persist($ipaddr);
- $r->lset($ipaddr,2,$prsize2);
- exit;
- }
- if($prsize && $keika < $spanspan){
- $r->expire($ipaddr,$expire);
- $r->lset($ipaddr,2,$prsize2);
- # 重くやばい
- if($prsize > $kanpeki){
- print "Content-type: text/html; charset=shift_jis\n\n";
- print <<EOF;
- <html><head><title>ERROR!</title><meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></head>
- <body><!-- 2ch_X:error -->
- 599 連打しないでください。もうそろそろ規制リストに入れますよ。。( ̄ー ̄)ニヤリッ<br>
- <br><hr>$memomemo</body>
- </html>
- EOF
- exit;
- }
- # 軽くやばい/初犯
- print "Content-type: text/html; charset=shift_jis\n\n";
- print <<EOF;
- <html><head><title>ERROR!</title><meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></head>
- <body><!-- 2ch_X:error -->
- ERROR - 593 $spanspan sec たたないと書けません。($prsize回目、$keika sec しかたってない)<br>
- <br>
- 120sec規制の場合 Be にログインすると回避できます(newsplusを除く)。<a href="http://be.2ch.net/">be.2ch.net</a>
- <br><hr>$memomemo</body>
- </html>
- EOF
- exit;
- }
- }else {
- # IPアドレスを記録。$expire秒で消える
- $r->setex($ipaddr => $expire => 1); # IPアドレス 有効期限 回数
- }
- $r->quit;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement