내 다른 두 서버에 프록시 서버를 찾기 위해 동일한 코드를 넣었지만 내 서버 중 하나가 프록시 서버임을 보여줍니다. 마지막으로 모든 서버 변수를 인쇄하고 있습니다. HTTP 헤더에 HTTP_X_FORWARDED_FOR이 (가) 있습니다. 왜 이런 일이 일어나는가? 내가 찾는 데 사용내 서버에 HTTP_X_FORWARDED_FOR이 일부 IP 주소를 표시하는 이유
코드가
<?php
경우 ($ _SERVER [ 'HTTP_X_FORWARDED_FOR'] || $ _SERVER [ 'HTTP_X_FORWARDED'] || $ _SERVER [ 'HTTP_FORWARDED_FOR'] || $ _SERVER [ ' HTTP_CLIENT_IP '] || $ _SERVER ['HTTP_VIA '] || in_array ($ _ SERVER ['REMOTE_PORT '], array (80808065888000,3128,553,554)) || @fsockopen ($ _ SERVER ['REMOTE_ADDR ' , 80, $ errno는, $의 errstr을, 2))
{
echo "Proxy detected";
//Proxy detected'
}
else
{
echo "Proxy not detected";
//No Proxy detected
}
? >
일부 클라이언트는 X-Forwarded-For에 역방향 프록시의 IP (예 : 연결된 IP)를 추가하여 일부 역방향 프록시 제한을 우회하려고 시도하는 것을 보았습니다. 아마도 백엔드에 상승 된 권한을 부여하려고 시도했을 것입니다. 올바르게 구성된 역방향 프록시는 클라이언트가 제공 한 XFF 헤더를 제거하기 전에 항상 클라이언트가 제공 한 XFF 헤더를 제거해야합니다. – Adrien