Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Skrypt blokujący wejście na stronę.
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
strider
Szukałem tutaj ale nie znalazłem, a jak znalazłem to nie działające...

Potrzebuję Skryptu który blokuje adres IP w PHP i wtedy jak go zablokuje to nie można wejść na stronę snitch.gif
rzymek01
poszukaj na forum tematu, w którym jest w jaki sposób zabezpiecza się sondy/ankiety
webdice
Przenoszę do działu Gotowe rozwiązania / Szukam.
Asmox
Znaczy chodzi ci o skrypt czy kod? Nie rozumiem za bardzo... Ja polecam zrobić tak:
  1. <?php
  2. include "baza1.php"; //Instrukcje połączenia z bazą danych - haczyk do połączenia to $connection
  3. $IP = $_SERVER['REMOTE_ADDR']; //Nadaje zmiennej $IP IP komputera, który się łączy z tym skryptem
  4. $query = "SELECT * FROM zbanowani WHERE IP='$IP';"; //Zapytanie do bazy
  5. $result = mysql_query($query, $connection); //Wykonanie zapytania
  6. if mysql_fetch_array($result)==1 { //Sprawdzenie, czy w bazie jest rekord ze zbanowanym IP
  7. header("Location: zbanowany.php"); //Przeniesienie na stronę dla zbanowanych
  8. }
  9. ?>
rzymek01
najprościej:
zrób sobie bazę danych i tam dodawaj zbanowane adresy ip (najlepiej MySQL, chociaż własna txt też może być)

dodawać możesz je sobie możesz bezpośrednio przez zapytanie, ale możesz sobie zrobić własny Panel Admina dla frajdy tongue.gif
  1. <?php
  2. $query = 'INSERT INTO `baned` (ip) VALUES(' . $ADRES_IP . ')';
  3. ?>

od strony technicznej: jako klucz w bazie zrób sobie pole IP, które ustaw na INT, i przekształcaj sobie każdy adres ip na int'a, dlaczego?
szybciej i wydajniej ze strony MySQL a ponadto nie dodasz dwóch takich samych ip przez przypadek, a adres IP jest bardzo łatwo zamienić na int. Przykład: usuwasz kropki z adresu IP, choć to nie jest akurat najlepszy pomysł biggrin.gif

na stronie wykonujesz jedno zapytanie:
  1. <?php
  2. $q = mysql_query('SELECT COUNT(ip) FROM `baned` WHERE ip = ' . $ADRES_IP . ' LIMIT 1');
  3. $check = mysql_fetch_row($q);
  4.  
  5. if ( !$check[0] ) // jeśli ilość wyszukanych rekordów równa się zero to...
  6.  die('Baned!');
  7. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.