Advertisement
Guest User

Untitled

a guest
Nov 11th, 2011
167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 2.84 KB | None | 0 0
  1. sub foxSamba24
  2. {
  3.     my ($GB, $tane, $spanspan) = @_;
  4.    
  5.     my $Samba = "Samba24-3.0";
  6.     my $memomemo = "($Samba)";
  7.    
  8.     my ($prsize,$prmtime)= ();
  9.     my $kanpeki  = 3    ;   #許容回数 ERR593 Nsec しかたっていません
  10.     my $saidai   = 5    ;   #限界回数 ERR599 コーヒーブレイク、以降もう書けません。
  11.    
  12.     my $r = Redis->new(server => '127.0.0.1:6379', encoding => undef);
  13.     $r->auth("foobared"); # redis DBのアクセスパス(デフォ)
  14.     my $status = $r->ping;
  15.     if(!$status) {
  16.         return 0; # redisが落ちてる場合はスルー
  17.     } # redisサーバの生存確認
  18.    
  19.     my $ipaddr = $tane;
  20.     my $expire = $spanspan;
  21.    
  22.     if ($r->exists($ipaddr)) {
  23.         my $keika = $spanspan - ($r->ttl($ipaddr));
  24.         my $prsize = $r->get($ipaddr);
  25.         my $prsize2 = $prsize + 1;
  26.        
  27.         if($prsize > $saidai){
  28.             my $houhou = '<a href=\"http://etc6.2ch.net/event/\">イベント企画</a>板で一時間以上新しい面白いイベント考えてください。';
  29.            
  30.             print "Content-type: text/html; charset=shift_jis\n\n";
  31.             print <<EOF;
  32. <html><head><title>ERROR!</title><meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></head>
  33. <body><!-- 2ch_X:error -->
  34. ERROR - 594 もうずっと書けませんよ。<br>
  35. <br>
  36. あなたは、規制リストに追加されました。<br><br>
  37. 【解除する方法】<br>
  38. $houhou<br>
  39. これ以外に解除の方法はありません。<br>
  40.  
  41. <br><hr>$memomemo</body>
  42. </html>
  43. EOF
  44.            
  45.             $r->persist($ipaddr);
  46.             $r->lset($ipaddr,2,$prsize2);
  47.            
  48.             exit;
  49.         }
  50.        
  51.         if($prsize && $keika < $spanspan){
  52.             $r->expire($ipaddr,$expire);
  53.             $r->lset($ipaddr,2,$prsize2);
  54.            
  55.             # 重くやばい
  56.             if($prsize > $kanpeki){
  57.                 print "Content-type: text/html; charset=shift_jis\n\n";
  58.                 print <<EOF;
  59. <html><head><title>ERROR!</title><meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></head>
  60. <body><!-- 2ch_X:error -->
  61. 599 連打しないでください。もうそろそろ規制リストに入れますよ。。( ̄ー ̄)ニヤリッ<br>
  62. <br><hr>$memomemo</body>
  63. </html>
  64. EOF
  65.                 exit;
  66.             }
  67.            
  68.             # 軽くやばい/初犯
  69.             print "Content-type: text/html; charset=shift_jis\n\n";
  70.             print <<EOF;
  71. <html><head><title>ERROR!</title><meta http-equiv="Content-Type" content="text/html; charset=shift_jis"></head>
  72. <body><!-- 2ch_X:error -->
  73. ERROR - 593 $spanspan sec たたないと書けません。($prsize回目、$keika sec しかたってない)<br>
  74. <br>
  75. 120sec規制の場合 Be にログインすると回避できます(newsplusを除く)。<a href="http://be.2ch.net/">be.2ch.net</a>
  76.  
  77. <br><hr>$memomemo</body>
  78. </html>
  79. EOF
  80.             exit;
  81.         }
  82.     }else {
  83.         # IPアドレスを記録。$expire秒で消える
  84.         $r->setex($ipaddr => $expire => 1); # IPアドレス 有効期限 回数
  85.     }
  86.    
  87.     $r->quit;
  88.     return 0;
  89. }
  90.  
  91.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement