Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Perl IP ban

Konu, 'Yazılım Geliştirme' kısmında Sahin tarafından paylaşıldı.

  1. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Bir cgi dosyasına aşağıdaki gibi bir kod ekleyip bir ya da daha çok IP'ye ban koymak istiyorum ama kodu galiba içinden çıkılmaz derecede karıştırdım. Yavuz yetiş kardeş :p



    Kod:
    #Ban Protect (Sahin 1/1)
    $banned = 1; 
    $ip = 61.62.145.32 ;
    $ip = $ENV{'REMOTE_ADDR'};
    if (-e "$GB_NON_CGI_Path/entries.dat") {
    open (BANPROTECT, "$GB_NON_CGI_Path/entries.dat") || die ("Couldn't open guestbook entries file.");
    }
    @banprotect = <BANPROTECT>;
    close (BANPROTECT);
    foreach $line (@banprotect) {
    @entryline = split(/\|\|/, $line);
    # $entryline[7] is the field in entries.dat that contains the saved ip-address
    chomp $entryline[7]; # (Bugfix)
    if ($entryline[7] eq $ip) {
    		if ($entryline[0] eq $ip) {
    				&StandardHTML("<center>Hata! Mesajiniz yollanamiyor!<br>Siteden banlanmışsınız!</center>");
    				exit;
    	}
    }
    
    # Ban sonu (Sahin 1/1)
     
  2. Düzgün

    Düzgün Üye

    Kayıt:
    29 Temmuz 2002
    Mesajlar:
    206
    Beğenilen Mesajlar:
    0
    evet geldim.
    bundan farklı bi kod yazalım
    PHP:
    #!/usr/bin/perl -w

    open(FILE,"ipban.txt");
    @
    skip = <FILE>;
    close(FILE);

    $check=0;
    if (@
    skip) {
      foreach 
    $ips (@skip) {
      
    chomp($ips);
        if(
    $ENV{'REMOTE_ADDR'} =~ /$ips/) {
          
    $check 1;
          
    last;
        }
      }
    }
    if (
    $check == 0) {
    #ip ban listesinde değil işlemler yapılsın. :)
    }
    kullanımı daha basit.
    iyi çalışmalar..
     
  3. Asil

    Asil Voyager

    Kayıt:
    31 Aralık 1999
    Mesajlar:
    75
    Beğenilen Mesajlar:
    0
    Meslek:
    web designer
    Şehir:
    Sweden
    Ama kardeş $ip = $ENV{'REMOTE_ADDR'}; ve if ($entryline[7] eq $ip) olması gerkiyor.
     
  4. Asil

    Asil Voyager

    Kayıt:
    31 Aralık 1999
    Mesajlar:
    75
    Beğenilen Mesajlar:
    0
    Meslek:
    web designer
    Şehir:
    Sweden
    pardon direk ip i biliyorsak $entryline[7] olmasada olur sanırım dimi?
     
  5. Düzgün

    Düzgün Üye

    Kayıt:
    29 Temmuz 2002
    Mesajlar:
    206
    Beğenilen Mesajlar:
    0
    tamamdır.
     
  6. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Teşekkürler hocam :super: