всегда ли диапазоны ip для тех же самых стран?Например: 111.111.111.x = всегда <country> - PullRequest
0 голосов
/ 23 августа 2011

У меня будет проверка стран при регистрации пользователей.Например, только Испания, Нидерланды и Франция в этой форме входа в систему и только США в этой форме входа.

У меня запущена служба, которая возвращает мне страну, когда я даю ей IP-адрес.Плохо только то, что запросы стоят дорого, поэтому я хотел бы оптимизировать их.

Я не очень разбираюсь в IP-адресах, но я нашел следующий «алгоритм»

Таблица с ipадреса до 3 номеров.(например: 11.111.11.x) И сохранить код страны в той же таблице.Или, может быть, до 2 номеров, если это возможно.Таким образом, я буду отправлять меньше запросов в службу.

Теперь возникает проблема:

Всегда ли верно, что IP-адреса, начинающиеся с 3 номеров, всегда приходят из одной страны?

например

80.224.6.x всегда для Испании 80.224.7.x всегда для Испании

или мне повезло, что я могу сказать следующее: 80.224.xx всегда для Испании и т. Д....

1 Ответ

2 голосов
/ 23 августа 2011

Одним словом, нет.Блоки разных размеров были розданы странам, компаниям, университетам и т. Д.

Вам нужна библиотека геолокации с базой данных. Этот бесплатный; есть лучшие, которые стоят денег, но бесплатный довольно хорош.Такая библиотека предоставляет API, который вы можете использовать для полу-надежного поиска местоположения по IP-адресу.На уровне страны надежность довольно хорошая.

...