ďťż

Banowanie w php Potrzebna pomoc !!!

       

Podstrony


telcocafe

Witam

Mam problem ze skryptem banowania

Chodzi mi o cos takiego ze jesli uzytkownik jest na liscie zbanowanych to wywietla mu napis powiedzmy Masz Bana !!! i nie mozewejsc na strone a jesli nie ma go na liscie strona otwieta sie normalnie :o

Tu mam kod nie za bardzo dzialajacy
poniewaz gdy jestesmy na liscie zbanowanych to wyswietla tylko ze mamy bana ale wszytko sie dobrze laduje :blink:

<? $adres = array("74.31.242.123"); if (in_array($REMOTE_ADDR, $adres)) { echo ("Zostałeś zbanowany przez jednego z Administratorów"); } ?>

a jeszcze lepiej bylo by jak numery ip byly wczytywane np z pliku ban.txt

Pozdrawiam :)



Dodaj funkcje die lub exit po echo.... i caly skrypt sprawdzajacy wstaw na samym poczatku strony...

<? $adres = array("74.31.242.123"); if (in_array($REMOTE_ADDR, $adres)) { echo ("Zostałeś zbanowany przez jednego z Administratorów"); die; } ?>
Użytkownik max_damage edytował ten post 14 maj 2005, 16:15

Dodaj funkcje die lub exit po echo.... i caly skrypt sprawdzajacy wstaw na samym poczatku strony...

<? $adres = array("74.31.242.123"); if (in_array($REMOTE_ADDR, $adres)) { echo ("Zostałeś zbanowany przez jednego z Administratorów"); die; } ?>

Zrobiłem i wyszło mi takie coś :D (wszystko pieknie dziala)

<? $adres = array(''); if (in_array($REMOTE_ADDR, $adres)) { die('<center><b>Zostałe&para; zbanowany przez jednego z Administratorów</b></center>'); } ?>

A jak to przerobic zeby wczytywalo bany z pliku tekstowego
chodzi mi oto ze w pliku tym byla by cala banlista :o



Proponowałbym tak:
<? $banlista = "banlista.txt"; $otworz = fopen($banlista, "r"); if (!$otworz) { die ("Nie można otworzyć pliku"); } $adres = fread($otworz, filesize($banlista)); if (in_array($REMOTE_ADDR, $adres)) { die('<center><b>Zostałe&para; zbanowany przez jednego z Administratorów</b></center>'); } ?>

Nie ręczę za poprawność kodu, najlepiej najpierw go sprawdzić. Jakby coś nie chciało działać pisać na PW to pomyślę ;)

Co do otwierania pliku proponował bym raczej, aby użyć funkcji file(), w pliku każdy IP będzie był w nowej linijce wtedy wpisujesz
$adresy_ip = $file("plik_z_adresami.txt");
i masz tablicę z adresami ip.

I nie $REMOTE_ADDR, a $_SERVER['REMOTE_ADDR']
Użytkownik dodek edytował ten post 17 maj 2005, 06:45

$adresy_ip = $file("plik_z_adresami.txt");
I nie $REMOTE_ADDR, a $_SERVER['REMOTE_ADDR']

Gall anonim uzylem twojego kodu i...:

Warning: in_array(): Wrong datatype for second argument in c:\usr\krasnal\www\cms\index.php on line 68
Nie wiem co to moze byc :/


Gall anonim uzylem twojego kodu i...:

Warning: in_array(): Wrong datatype for second argument in c:\usr\krasnal\www\cms\index.php on line 68
Nie wiem co to moze byc :/

To tak, niedosc ze tamten blad zostal to jest jeszcze nowy:
Warning: file() expects parameter 1 to be string, resource given in c:\usr\krasnal\www\cms\index.php on line 67

file()

Warning: in_array(): Wrong datatype for second argument in c:\usr\krasnal\www\cms\index.php on line 68 to nadal jest

a dobre parametry przesyłasz ??? oblookaj maniuala, albo daj gdzieś cały kod

<? $banlista = "modules/bany.txt"; $otworz = fopen($banlista, "r"); if (!$otworz) { die ("Nie można otworzyć pliku"); } $adres = fread($otworz, file($banlista)); if (in_array($_SERVER['REMOTE_ADDR'] , $adres)) { die('<center><b>Zostałe&para; zbanowany przez jednego z Administratorów</b></center>'); } ?>


manual php napisał :D

string fread ( resource uchwyt, int długość )


już wiesz o co chodzi ?? nie ?? to poczytaj o in_array :)

No super a moglby ktos mi troszke pomoc i poskladac caly kod do kupy i umiescic go w tym temacie :( ??

P.S Wilkie dzieki dla kazdego kto zainsteresowal sie tym tematem :)

No wlasnie, to forum jest zeby pomagac a nie odsylac do google, manuala PHP itp. :)

no jasne i jeszcze mamy za Was myśleć. Po co mam przepisywać to co jest w manualu ?? w manualu masz wszelkie info o php więc zamiast zawracać dupsko na forum poczytaj tam i wsio będziesz wiedział

Hm.. no to jeszcze z tym pojdz na reke a potem juz bede czytal manuala :P


Źle :P Jesli jest funkcja to nie ma dolara przed nią.
$adresy_ip = file("plik_z_adresami.txt");
Wtedy cała zawartość pliku jest wczytywana do tablicy, gdzie każda linijka tekstu została wgrana do następnego z koleji elementu tablicy. Potem tylko przeglądasz liste IP (czyli tą tablice) sprawdzając czy adres IP tego, króry wlaz na strone jest równy z jednym z tych zbanowanych. Ale to chyba potrafisz :D

Złoż ktos caly ten kod do kupy :( nadal sa bledy :(

Warning: in_array(): Wrong datatype for second argument in /home/accounts_g/gruchi/public_html/ban.php on line 9

Napisz ktos jak to zrobic , ja tez mam problem z in_array()

<? $banlista = "bany.txt"; $adres =file($banlista) or die("Nie można otworzyć pliku"); $adres=str_replace(array("\r","\n"),"",$adres) ; if (in_array($_SERVER['REMOTE_ADDR'] , $adres)) { die('<center><b>Zostałe&para; zbanowany przez jednego z Administratorów</b></center>'); } ?>

nie zapominajmy, ze wczytujac z pliku przez file, wczytujemy tez znaki \r i \n :)
trzeba je usunac, bo w adresie ich nie ma B)
Użytkownik nav edytował ten post 19 maj 2005, 15:42
Niestety nadal coś nie działa pisze ze nie moze otworzyc pliku ?
Użytkownik Gruchi edytował ten post 20 maj 2005, 14:06

Niestety nadal coś nie działa pisze ze nie moze otworzyc pliku ?

szykowac sie bedzie jak uda mi sie zrobic to banowanie ale jak na razie to mi nie idzie :( nie moge naprawic tego bledu :(

kurde Gruchi nie kopiuj kodu jaki ci podaja bo tam jest "bany.txt" a ty chcesz banlista.txt

nav czego rotflujesz :D Jak sie kopiuje kod z "bany.txt" a ma sie banlista.txt i mowi

Aaa! Pomocy nie dziala mi kod, utworzylem banlista.txt, a nadal nie dziala oto moj kod: <? $banlista = "bany.txt"; $adres =file($banlista) or die("Nie można otworzyć pliku"); $adres=str_replace(array("\r","\n"),"",$adres) ; if (in_array($_SERVER['REMOTE_ADDR'] , $adres)) { die('<center><b>Zostałe&para; zbanowany przez jednego z Administratorów</b></center>'); } ?>

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.