Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inne][PHP]Zabezpieczenie przed proxy
Forum PHP.pl > Forum > Przedszkole
Oczko21
Witam,
Znalazlem kilka tematow dotyczacych proxy, ale ich data jest dosc stara. Mam nadzieje ze z biegiem lat doszlo kilka nowych sposob zabezpieczenia sie przed proxy.
Czy zna ktos jakis skuteczny sposob zabraniajacy uzytkownikom korzystania z proxy? Moze powiem na czym dokladnie mi zalezy. Postaram sie przedstawic co chcialbym osiagnac.
Mam stronke, na ktora ludzie wchodza i przyjmijmy umownie ze 'glosuja'.
Chcialbym aby jeden KOMPUTER mogl oddac jeden glos, przy czym tworzenie, rejestracja kont- odpadaja.
Probowalem zabezpieczyc sie przed proxy, znalazlem pewien sposob, jednak dziala on tylko na te slabsze.
Cookie odpada, gdyz wychodze z zalozenia ze jesli ktos umie uzyc proxy to tym bardziej umie wylaczyc obsluge cookie.
Najlatwiejszym sposobem byloby pobranie nazyw komputera uzytkownika, jednak z tego co mi wiadomo PHP nie udostepnia takiej mozliwosci (A jak jest z innymi jezykami programowania?).
Wpadl mi do glowy tez inny pomysl, jednak nie wiem czy jest on wykonywalny, a mianowicie- Sprawdzenie za pomoca cURL'a czy podane IP to proxy czy nie.
Prosilbym o podzielenie sie pomyslami, propozycjami rozwiazania tego problemu biorac pod uwage glowne zalozenie- 1 komputer = 1 glos+brak tworzenia kont.
Mam jeszcze jedno pytanie- Czy wizyty przez proxy wliczaja sie w unikanle wejscia?
Przedstawie jeszcze kod, ktory eliminuje slabsze proxy, moze komus sie przyda.

  1. if ($_SERVER['HTTP_X_FORWARDED_FOR']
  2. || $_SERVER['HTTP_X_FORWARDED']
  3. || $_SERVER['HTTP_FORWARDED_FOR']
  4. || $_SERVER['HTTP_CLIENT_IP']
  5. || $_SERVER['HTTP_VIA']
  6. || in_array($_SERVER['REMOTE_PORT'], array(8080,80,6588,8000,3128,553,554))
  7. || @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 30))
  8. {
  9. echo 'proxy detected';
  10. }else{
  11. echo 'proxy not detected';
  12. }

wNogachSpisz
Chcesz za każdym razem fsockopen otwierać względem przychodzącego hosta?
Domyślny timeout wynosi 30 sekund, taki skrypt może z łatwością ubić serwer...

Można zrobić prosty manewr, wpisać w google numer IP i poszukać słów kluczowych "proxy" w wyniku..
Jeśli będzie ich więcej niż kilka, prawie na pewno jest to publiczne proxy...

Jest też TOR, poszukaj w sieci, jest stronka zawierająca liste wszystkich aktualnych IP wychodzących węzłów..

Można też użyć javascript, zebrać wszystkie pola zależne od konfiguracji komputera, takie jak:
- rodzaj i wersja przeglądarki
- rodzaj systemu operacyjnego
- lista zainstalowanych pluginów i ich wersje (Java, Flash)
- lista zainstalowanych czcionek
- rodzielczosc ekranu
- wielskosc okna przeglądarki (różne rodzaje tego są, z lub bez uwzględnienia scrollBarów)
- wszystkie inne informacje które można odczytać przy pomocy JavaScript, a które identyfikują konputer odwiedzającego..

Generalnie temat rzeka smile.gif
Oczko21
Dokladnie! temat rzeka, mozna w wiekszym lub mniejszym stopniu odrzucic uzytkownikow nie spelniajacych kryteria, ale czy da sie ich calkowicie wyeliminowac?

Cytat(wNogachSpisz @ 26.02.2011, 12:15:23 ) *
Chcesz za każdym razem fsockopen otwierać względem przychodzącego hosta?
Domyślny timeout wynosi 30 sekund, taki skrypt może z łatwością ubić serwer...

Tak, wiem jest to dosc glupie rozwiazanie.

Myslalem juz wczesniej , aby za pomoca HTTP_USER_AGENT, pobrac informacje o uzytkowniku, rozbic na kilka mniejszych czesci i porownywac je, ale ten sposob wydaje mi sie taki... prymitywny.

Cytat
Można zrobić prosty manewr, wpisać w google numer IP i poszukać słów kluczowych "proxy" w wyniku..
Jeśli będzie ich więcej niż kilka, prawie na pewno jest to publiczne proxy...

Zaciekawil mnie ten sposob, moglbys go nie co rozwinac? Tzn. Jak sprawdzic przez skrypt wyszukiwanie IP w googlach i ilosc wynikow?

Ponowie tez pytanie z pierwszego posta:
Czy wizyty przez proxy wliczaja sie w unikanle wejscia?
wNogachSpisz
Cytat(Oczko21 @ 26.02.2011, 12:46:18 ) *
Myslalem juz wczesniej , aby za pomoca HTTP_USER_AGENT, pobrac informacje o uzytkowniku, rozbic na kilka mniejszych czesci i porownywac je, ale ten sposob wydaje mi sie taki... prymitywny.

nagłówek HTTP_USER_AGENT to 0,1% tego co mozna wyciągnać używając zamiast tego JavaScript.


Cytat(Oczko21 @ 26.02.2011, 12:46:18 ) *
Zaciekawil mnie ten sposob, moglbys go nie co rozwinac? Tzn. Jak sprawdzic przez skrypt wyszukiwanie IP w googlach i ilosc wynikow?

  1. file_get_content($url)


Cytat(Oczko21 @ 26.02.2011, 12:46:18 ) *
Ponowie tez pytanie z pierwszego posta:
Czy wizyty przez proxy wliczaja sie w unikanle wejscia?

To oczywiście zależy od budowy algorytmu zliczającego odwiedziny.
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.