Что ж, если честно, не нужно ничего делать.
Я хотел бы предложить, что я сделал в прошлом, чтобы бороться с той же самой проблемой. используйте скрипт обнаружения браузера, существует тон классов для обнаружения браузеров. Затем сравните браузер с БД известных браузеров. Затем, если в вашем списке есть браузер, разрешите звонок в службу, если не используете сценарий «лучшего предположения».
Под этим я подразумеваю что-то вроде этого:
Общий класс поиска IP-адресов
Итак, вы делаете, если тип браузера отсутствует в вашем списке, он не будет использовать вашу платную базу данных, вместо этого он использует этот класс, который может быть как можно ближе. Таким образом, вы получаете лучшее из обоих миров, боты не наносят ударов по вашему ip-сервису, и если пользователь по какой-то причине проскальзывает мимо вашего браузера, он, скорее всего, получит правильное местоположение и, таким образом, будет выглядеть как обычно на вашем сайте.
Это немного нервно, я знаю, я просто надеюсь, что вы понимаете, что я пытаюсь здесь сказать.
Реальный ответ заключается в том, что нет простого ответа или 100% правильного ответа на этот вопрос, я сделал много сайтов с такой же ситуацией и сошел с ума, пытаясь выяснить это, и это так же близко к идеалу, как и я прийти. Поскольку 99% большинства сканеров ligit будут иметь такое значение:
$_SERVER['HTTP_USER_AGENT'] = 'Googlebot', 'Yammybot', 'Openbot', 'Yahoo'... etc.
Подойдет простая проверка в браузере, но это могут быть тенистые сообщения, которые могут ответить IE6 или чем-то еще.
Я действительно надеюсь, что это поможет, как я сказал, что здесь нет реального ответа, по крайней мере, не то, что я обнаружил, что он на 100%, это все равно, что узнать, находится ли пользователь в руках в эти дни, вы можете получить 99 %, но никогда не 100%, и всегда получается, что клиент использует тот 1%, который не работает.