- проблем със прокси достъп
WT форуми -> PHP MySQL ASP.NET -> проблем със прокси достъп
Създайте нова тема Напишете отговор 
Автор Съобщение
systems
Турист
Турист

Регистриран на: 28/09/2012 9:04 pm

Support: 3
Bonus: 6
Мнения: 251
Мнение 19/08/2018 6:18 pm     проблем със прокси достъп Отговорете с цитат


Добър ден преди бях със линукс минт 17,3 и php5 този скрипт ме защитаваше от
прокси достъп през браузъра с ип и порт от този вид прокси, но сега съм
с дебиан 9.5 и php5.6 и скрипта въобще неработи някои може ли да помогне или да даде съвет как да го накарам да работи.


PHP code:
<?php
if($_SERVER['HTTP_CONNECTION'] != NULL)
{
echo "no proxy";
}
else
{
echo "<h1>proxy</h1>";
}
?>


при apache2.4 HTTP_CONNECTION е keep alive on
при php е само keep alive

немога да разбера защо преди работеше а сега не.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 21/08/2018 10:04 am      Отговорете с цитат


Ето някои неща които намерих по въпроса.
Цитат:
$_SERVER['HTTP_CONNECTION'] is the value of the HTTP Connection header sent as part of the request by the client. It is not a server setting. You cannot change it and you cannot force the client to send another value in that header. It's up to the client.

Цитат:
Use the following 2 solutions in PHP to detect proxies.
Мethode 1 = quick but does not work with anonymous proxies.

PHP code:

$proxy_headers = array(
'HTTP_VIA',
'HTTP_X_FORWARDED_FOR',
'HTTP_FORWARDED_FOR',
'HTTP_X_FORWARDED',
'HTTP_FORWARDED',
'HTTP_CLIENT_IP',
'HTTP_FORWARDED_FOR_IP',
'VIA',
'X_FORWARDED_FOR',
'FORWARDED_FOR',
'X_FORWARDED',
'FORWARDED',
'CLIENT_IP',
'FORWARDED_FOR_IP',
'HTTP_PROXY_CONNECTION'
);
foreach($proxy_headers as $x){
if (isset($_SERVER[$x])) die("You are using a proxy!");
}


Цитат:
Methode 2 = portscan back to the origin IP at the normal proxy ports used.


PHP code:

$ports = array(8080,80,81,1080,6588,8000,3128,553,554,4480);
foreach($ports as $port) {
if (@fsockopen($_SERVER['REMOTE_ADDR'], $port, $errno, $errstr, 30)) {
die("You are using a proxy!");
}
}
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
systems
Турист
Турист

Регистриран на: 28/09/2012 9:04 pm

Support: 3
Bonus: 6
Мнения: 251
Мнение 21/08/2018 5:10 pm      Отговорете с цитат


Опитах с тези и други които намерих в интернет и прокситата си зареждат без проблеми няма какво да ги спре.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 22/08/2018 9:30 am      Отговорете с цитат


Това е нормално. Тези скриптове засичат само някаква малка част от прокситата. Има платени системи които ползват какво ли не включително black list-ове с адреси, и пак не могат да хванат всички. Ако си намериш някъде из нета такъв лист с адреси на проксита, това е най-добрият начин да спреш достъпа на голяма част от тях.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
systems
Турист
Турист

Регистриран на: 28/09/2012 9:04 pm

Support: 3
Bonus: 6
Мнения: 251
Мнение 22/08/2018 1:29 pm      Отговорете с цитат


Аз именно този вид проксита искам да блокирам но единствения начин е блокиране по ип адрес каквото и да сложа проксито си зарежда без проблем
тествам с този лист: http://spys.one/free-proxy-list/BG/ и нищо зарежда си без проблем, преди когато използвах минт 17,3 при него този скрипт ги спираше там работеше с php5 сега съм с debian 9.5 с php5.6 всички модули на php5.6 са инсталирани и въпреки това доста скриптове неработят говоря за тези които трябва
да ме защитят от прокси ползвам и fail2ban тои също ги засича и банва но временно


PHP code:
<?php

if($_SERVER['HTTP_CONNECTION'] != NULL)

{

echo "no proxy";

}

else

{

echo "<h1>proxy</h1>";

}

?>
[/url]
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
teroristd
Редовен
Редовен

Регистриран на: 18/02/2010 1:50 pm

Support: 83
Bonus: 178
Мнения: 1741
Мнение 22/08/2018 2:20 pm      Отговорете с цитат


Според мен нещо грешиш. Не мисля че със $_SERVER['HTTP_CONNECTION'] можеш да проверяваш дали е прокси или не е. $_SERVER['HTTP_CONNECTION'] има само две стойности KEEPALIVE ON OR OFF, като тука става въпрос за настройка на apache-то. Ето информация за настройката. https://abdussamad.com/archives/169-Apache-optimization:-KeepAlive-On-or-Off.html

П.П. Също така ако не греша $_SERVER['HTTP_CONNECTION'] връща стойността на твоята настройка на апаче-то а не на сървърите които са се свързали със страницата ти.
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
raiden
Активен
Активен

Регистриран на: 08/12/2006 10:13 am

Support: 189
Bonus: 464
Мнения: 2181
Мнение 22/08/2018 8:21 pm      Отговорете с цитат


Вероятно хедъра който търсиш е Forwarded/X-Forwarded-For ?
Върнете се в началото
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:    
Създайте нова тема   Напишете отговор    web-tourist.net Форуми -> PHP MySQL ASP.NET Часовете са според зоната GMT + 2 Часа
Страница 1 от 1


 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети