Засичане на прокси

t0shk0

Registered
Освен през хедърите по какъв друг начин може да се засича прокси? Аз си мисля, че може да стане с socket-и ама не знам колко ще работи вярно. Пък и трябва да проверявам доста портове..
 
Тук намерих вариант през .htaccess:

http://perishablepress.com/how-to-block-proxy-servers-via-htaccess/

---------

Друг вариант:

- Ползваш
$_SERVER['HTTP_X_FORWARDED_FOR']
и
$_SERVER['REMOTE_ADDR'];

Следователно ако 2 - те нямат еднакви стойности, това означава, че се използва Proxy server, който ще се засече на $_SERVER['REMOTE_ADDR'];

Ще затвориш използването на много голям процент проксита, но все пак ще може да се влиза по малко по - различни начини.

Ето информация:
http://roshanbh.com.np/2007/12/getting-real-ip-address-in-php.html

---------

Също си мисля, че който и вариант да ползваш за блокиране на проксита, може би е възможно да се получи едно "объркване" и да блокираш потребители, който изобщо не ползват проксита, просто да имат по различен начин конфигурирана мрежа.

Това тук са мой предположения, ще е хубаво ако някой се включи и добави/поправи(моите мнения, ако ги счита за грешни) неща.
 
Аз си мислех нещо от сорта на:
Вземам ип-то на потребителя.
После вземам хост името от ип-то.
Отварям сокет към хоста с порт 80 или там някакъв др..
И ако се свърже и няма грешка има прокси, ако не се свърже е нормален потребител без прокси...
 
Това мисля, че означава: Други сайтове няма да могат да комуникират с теб, например като Google. Може и да греша, но така смятам. Да не говорим, че може и да не се ползва порт 80 (както сам каза).

-------

Друг вариант е със един дълъг списък със IP - та на проксита и да блокираш, но първо за тези проверки, ще отнеме доста от времето за зареждане на сайта (просто има прекален много проксита). Второ голям процент от прокситата, мисля че са на динамични ИП адреси, тоест веднъж на 2 - 3 дена като рестартират интернета и твойте блокирания отпадат, а в същото време е възможно да блокираш потребители, дори който незнаят що е това прокси.
Поне ако аз отварях проски, бих го направил на динамичен IP адрес и единствената връзка ще е DNS.
 
Мислих и за този вариант да претърсвам за Ip-та или портовeте, но е много непрактично и неефективно.

А и може ли да разясниш това, че не го разбрaх :D
Поне ако аз отварях проски, бих го направил на динамичен IP адрес и единствената връзка ще е DNS.
 
Ами смисъл - статични и динамични IP адреси. Когато ти е статично ИП, ти винаги ще ползваш едно и също ИП при влизане в нета. Докато когато ти е динамично, то последните цифри ще ти се променят на ИП - то.

И сега имах предвид, че ако отварях прокси, бих го пуснал през динамично ИП, тоест ако има ей такива сайтове, който примерно са установили, че на това ИП отговаря някое прокси и са го блокирали, мен примерно след рестартиране на модема, ИП ще ми се промени и блокирането ще ми отпадне. Обаче как да се подсигуря, че хората след рестартирането на модема, ще успеят да ми намерят проксито, за да го ползват отново. Ами много просто, ще закупя домейн и така хората ще помнят името на домейна, без да се интерисуват от ИП - то. DNS - Domein name server.
 
Някой друг да знае друг начин, по възможност по-ефективен, защото каквото и да правя голяма част от прокситата си минават спокойно или като блокирам повечето проксита самите методи блокират и обикновените потребители.

Има сайтове в интернет, които засичат прокситата, а обикновените потребителя нямат проблеми, но никъде не можах да открия код или просто да е описана как е направена защитата.

Четох, че има някакъв вариант ип-то да се взема с помощта на друг програмен език и след това да се обработва с php, но не разбирам как това би помогнало. Ако някой е по-наясно по тази тема може да сподели малко инфо :D
 
Кодът, който е даден там вече почти нищо не засича. Повечето проксита вече не изпращат хедъри, които да показват, че връзката минава през прокси.
 
t0shk0 каза:
Кодът, който е даден там вече почти нищо не засича. Повечето проксита вече не изпращат хедъри, които да показват, че връзката минава през прокси.

Как очакваш да ги засечеш тогава? Това, което си написал горе няма да стане.
 
StormBreaker каза:
t0shk0 каза:
Кодът, който е даден там вече почти нищо не засича. Повечето проксита вече не изпращат хедъри, които да показват, че връзката минава през прокси.

Как очакваш да ги засечеш тогава? Това, което си написал горе няма да стане.

Аз ако знаех как може да стане, нямаше да питам, нали?

Имам една идея, но не съм сигурен дали ще се получи. Имам нужда да направя сайта си така, че при регистрация ип-то на потребителя да се засича дали е минало през прокси. Ако направя така, че когато потребителят е попълнил данните си и натисни бутона за регистрация се отваря сокет към адреса му и се търси връзка. Ако има връзка ползва прокси, ако ли не не ползва.. Мисля, че по този начин няма да има проблем сайтове като google да се свързват към моя сайт, защото достъпът чрез прокси до самия сайт ще бъде разрешен, но просто няма да може да се регистрира чрез прокси..
 
t0shk0 каза:
StormBreaker каза:
t0shk0 каза:
Кодът, който е даден там вече почти нищо не засича. Повечето проксита вече не изпращат хедъри, които да показват, че връзката минава през прокси.

Как очакваш да ги засечеш тогава? Това, което си написал горе няма да стане.

Аз ако знаех как може да стане, нямаше да питам, нали?

Имам една идея, но не съм сигурен дали ще се получи. Имам нужда да направя сайта си така, че при регистрация ип-то на потребителя да се засича дали е минало през прокси. Ако направя така, че когато потребителят е попълнил данните си и натисни бутона за регистрация се отваря сокет към адреса му и се търси връзка. Ако има връзка ползва прокси, ако ли не не ползва.. Мисля, че по този начин няма да има проблем сайтове като google да се свързват към моя сайт, защото достъпът чрез прокси до самия сайт ще бъде разрешен, но просто няма да може да се регистрира чрез прокси..

А какво става с хората, които имат например web server на компютъра си? Или нещо друго на порта, който ще тестваш? Ами прокситата, които не са с уеб интерфейс и на порт 80 нямат нищо?

Няма сигурен начин да различиш дали потребителя минава през прокси. То и рутерите са един вид проксита, няма как да разбереш сега аз дали съм зад рутер (и колко са например).
 
Все трябва да има някакъв начин, защото има сайтове, които го правят.. Не знам как, но го правят..
 
Разрових в търсене на начин за метод, който блокира прокси сървърите, методите, който намерих и за който пишат всички по най - различни форуми е единствено тези, който споменахме в тази тема.

И сега е времето да кажа, че няма само проксита, но и други начини за влизане като VPN (virtual private network) и други варианти през, който някой би влезнал в сайта, всички те са на принципа на проксито г/д.
Може да се прочете доста във wikipedia за вариантите.

Какво предлагат хората (събрал съм масови мнения):

1. Защита чрез .htaccess

1.1 Мненията сочат, че до голяма степен предодвратява прокси сървърите, но остава един много голям процент от съвременните сървъри, който лесно заобикалят тази защита и тя става ненужна.

2. Защита чрез PHP

2.1 Ами г/д същото като чрез горе казания метод.

3. Защита чрез BlackList

3.1 Срещнах това на доста места, това означава, че ползваш база данни със вече въведени проксита (тяхните IP - та) и на базата на това със проверки ти решаваш дали е прокси или не.

3.2 Проблема идва от там, че както казах в мойте мнения в тази тема, голяма част от прокситата сменят IP - тата, точно заради тези BlackList's и така няма да направиш нищо друго освен ако попаднеш на такова IP и това IP не е на прокси, ами на обикновен потребител, ти ще го блокираш.

3.3 Още един минус е това, че има много ... много прокси сървъри, това означава - огромна база данни и много играчка в актуализацията на базата данни. Което предполагам сам се сещаш, че огромната база данни означава - забавяне (влияние на скоростта на зареждане на сайта).

3.4 В интернет, ако провериш, ще се натъкнеш на сайтове, който предоставят актуален BlackList и чрез него може да си извършваш проверките и да записваш във .htaccess (както съветват). Тук отново важат правилата, който казах във т. 3.3, 3.2 (смяната на IP, и забавяне в зареждане на сайта, все пак като постояно си сменянт IP - тата, то това означава по голям .htaccess файл, а пък и проверките всеки път ще се забавят).

4. Търсих нещо за SSL (https) сертификатите със искрица надежда, дали може би със тях ще предотвратим някое прокси, уви results: 0.

(Помислих си, че може. Не съм ги използвал до сега, само знам че представляват криптирана връзка между потребителя и сайта и така си мислих, че може да хванем проксито, което се опитва да седи в средата).

5. Намерих във един сайт, ето този софтуер (не съм го свалил незнам, какво представлява):

http://www.blockscript.com/index.php

Беше рекламиран във ето този сайт, който ви казах:

http://www.whatismyip.com/faq/proxy-detection-and-blocking.asp

Ако някой има желание, нека да тества и да изкаже мнение. На ваша отговорност разбира се.

6. В един форум намерих един PHP клас, който помагал за "хващане" на проксита (най - вероятно няма да има голям успех (той ще е на същия принцип на който, описахме някъде по мненията в тази тема), но това неозначава да не се тества).

http://www.phpclasses.org/package/3482-PHP-Retrieve-information-of-current-user-HTTP-request.html

Не съм го тествал аз и не мога да кажа нищо.
Разбира се отново на ваша отговорност го тествайте.

7. Материали и линкове съм ползвал от следните сайтове, които може да са ви от полза:

http://www.v7n.com/forums/coding-forum/217284-blocking-damn-proxy-servers.html

http://www.whatismyip.com/faq/proxy-detection-and-blocking.asp

И други източници, но смятам че тези 2 линка са достатъчни (аз дори вече съм го сложил по - нагоре в мненията).


Ако има нещо изтървано, допълнете.
 
eddyy93 каза:
Ето още информация:

http://www.sans.org/reading_room/whitepapers/detection/detecting-preventing-anonymous-proxy-usage_32943

Това наистина ми помогна доста. Благодаря!

Преди малко тествах един код за защита и се оказа, че дори когато не съм с прокси хедърите HTTP_X_FORWARDED_HOST, HTTP_X_FORWARDED_SERVER, HTTP_X_REAL_IP, HTTP_X_FORWARDED_FOR биват изпращани, като задаваните стойности се добавят автоматично от сървъра ми. Как мога да променя това тези хедъри въобще да не се изпращат автоматично или трябва да говоря с хостинг компанията?
 
t0shk0 каза:
eddyy93 каза:
Ето още информация:

http://www.sans.org/reading_room/whitepapers/detection/detecting-preventing-anonymous-proxy-usage_32943

Това наистина ми помогна доста. Благодаря!

Преди малко тествах един код за защита и се оказа, че дори когато не съм с прокси хедърите HTTP_X_FORWARDED_HOST, HTTP_X_FORWARDED_SERVER, HTTP_X_REAL_IP, HTTP_X_FORWARDED_FOR биват изпращани, като задаваните стойности се добавят автоматично от сървъра ми. Как мога да променя това тези хедъри въобще да не се изпращат автоматично или трябва да говоря с хостинг компанията?

Тези хедъри се пращат от твоята част на връзката. Тоест причината може да е, че доставчика ти на интернет реално ти работи като прокси на връзката.
 

Back
Горе