Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Proxy - wielki problem!
Forum PHP.pl > Forum > Gotowe rozwiązania
Nexus.
Witam,
Mam użytkownika który po zbanowaniu wchodzi na stronę przez proxy.. jest to bardzo męczące. Co mi na to poradzicie? Może jakieś gotowe rozwiązanie? Lub prosty skrypt? Nie wiem.. ale byłbym bardzo wdzięczny gdybyście podzielili się swoją wiedzą w tym zakresie ze mną.
strife
Na dobrą sprawę to ... się go nie pozbędziesz. Możesz spróbować wyciągnać jego prawdziwe IP, poprzez:

  1. <?php
  2. $_SERVER['HTTP_X_FORWARDED_FOR']
  3. ?>


Ale ta zmienna nie jest zawsze przesyłana przez proxy. Jeśli on używa elite proxy, które nie przesyłają tego to nie masz szans, aby się go pozbyć. Ewentualnie pozostaje Ci geolokalizacja, ale to ograniczy wejścia użytkowników nie pochodzących z wybranego kraju. Możesz również, spróbować wykryć port z jakim łączy się on z Twoją stroną i to co jest różne niż :80 banować snitch.gif Ale nigdy tego nie próbowałem to nie wiem czy da rade, nie mniej jednak powinno go trochę zniechęcić.

Jak już zdobędziesz jego prawdziwe IP to możesz próbować zlokalizować kolesia. Co do skryptu, NuLL, dawno temu podawał taki oto skrypt:

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


Pozdrawiam.
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.