Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Blokada odporna na proxy
Forum PHP.pl > Forum > PHP
sajborg
Witam mam pytanko pisze taki skryptcik ktory blokuje cos po IP ale jak zrobic zeby był odporny na proxy questionmark.gif Znaczy jak sprawdzic jakie jest proxy albo jak sprawdzic jakie jest IP ale te prawdziwe po ominieciu proxy itd.
Marcin_m
Był opis tego na php.org.pl, ale w skrócie kod zwracający prawidłowy IP wygląda tak:

  1. <?php
  2.  
  3. function getClientIp() {
  4.  
  5. $ip = 0;
  6.  
  7. if (!empty($_SERVER['HTTP_CLIENT_IP']))
  8. $ip = $_SERVER['HTTP_CLIENT_IP'];
  9.  
  10. if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  11. $ipList = explode (', ',
  12. $_SERVER['HTTP_X_FORWARDED_FOR']);
  13. if ($ip) {
  14. array_unshift($ipList, $ip);
  15. $ip = 0;
  16. }
  17. foreach ($ipList as $v)
  18.  if (!ereg('^(192.168|172.16|10|224|240|127|0).',
  19. $v))
  20. return $v;
  21. }
  22. return $ip ? $ip : $_SERVER['REMOTE_ADDR'];
  23. }
  24.  
  25. ?>
sajborg
co mam tutaj skopane pisze blad

Kod
Warning: eregi(): REG_EPAREN in /home/pawebcx/public_html/baner/index.php on line 23


czyli jest to ta linijka

  1. <?php
  2. if( ! eregi( &#092;"^(192.168|172.16|10|224|240|127|0.\", $v ) )
  3. ?>
hwao
  1. <?php
  2. if( ! eregi( &#092;"^(192.168|172.16|10|224|240|127|0.)\", $v ) )
  3. ?>

questionmark.gif

Co do sprawdzania ip mozesz uzyc mojej funckji dalem ja na forum do algorytmow (wprowadzisz ip i baze danyc o on juz porowna czy moze czy nie, do tego mozna dawac znaki typu w ip * i ? (przy testowaniu)).
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-2025 Invision Power Services, Inc.