определить, использует ли пользователь прокси.

Привет, я создаю игру, и я хотел бы иметь возможность узнать, использует ли пользователь прокси. Если это так, то это в основном ставит флаг на их счет. Я могу заставить его установить флаг и все такое, но я не совсем уверен, как определить, использует ли пользователь прокси. Я видел, что вы можете использовать заголовки, но я не совсем уверен, что искать и как проверить, есть ли у пользователя заголовок (помимо обычного http_referrer и прочего).

Любая помощь приветствуется.

Edit

if ( $_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(8080,80,6588,8000,3128,553,554))
|| @fsockopen($_SERVER['REMOTE_ADDR'], 80, $errno, $errstr, 30))
{
     exit('Proxy detected');
}

Таким образом, этот код в основном работает, когда пользователь является прокси-сервером, он быстро завершается. Но когда их нет, загрузка занимает вечность (около 10 секунд). Есть ли способ использовать этот сценарий, чтобы он работал быстрее?

РЕДАКТИРОВАТЬ 2

Изменил тайм-аут для fsockopen с 30 на 1, он работает намного быстрее и все еще работает. Спасибо за предложения всем :)

19
задан jefffan24 24 December 2010 в 17:20
поделиться