Геолокация с IPv6?

Просто подумал, что выложу слегка измененную версию очень полезной функции Джейсона Бантинга .

Во-первых, я упростил первое утверждение, указав второй параметр для slice () . Оригинальная версия работала нормально во всех браузерах, кроме IE.

Во-вторых, я заменил этот на контекст в операторе возврата; в противном случае этот всегда указывал на окно , когда выполнялась целевая функция.

function executeFunctionByName(functionName, context /*, args */) {
    var args = Array.prototype.slice.call(arguments, 2);
    var namespaces = functionName.split(".");
    var func = namespaces.pop();
    for (var i = 0; i < namespaces.length; i++) {
        context = context[namespaces[i]];
    }
    return context[func].apply(context, args);
}

20
задан benjismith 22 July 2009 в 01:55
поделиться

4 ответа

Типичное распределение IPv6 - это / 32 (четыре октета) для Интернета. провайдер (который может быть транснациональной компанией), затем / 48 (шесть октетов) на конечный сайт (обычно это организация-клиент). Вы можете получить начальная точка в списке делегированных блоков IANA .

Это только для регистрации найдены в базах данных RIR. Назначение до конца пользователи обычно не записываются, поэтому мой текущий адрес 2a01: e35: 8bd9: 8bb0: 92b: 8628: 5ca5: 5f2b сообщит вам только то, что мой штаб-квартира провайдера находится в Париже (так как это национальная компания, the clients can be anywhere in France).

Another exception is the PI (Provider-Independent) assignements, which are typically /48.

Also, there exists many databases of geolocation for IPv4 and, to my knowledge, none for IPv6. You will have to do everything yourself.

To summary: more work than you apparently believe.

16
ответ дан 30 November 2019 в 01:11
поделиться

Поскольку пока не представляется простой способ сделать это, возможно, мы получим возможность сделать что-то, чего не было сделано в случае IPv4 (*)

Мы могли бы остановиться и спросить себя, хорошая ли это идея.


(*) Или, если это было сделано, это не сработало!

0
ответ дан 30 November 2019 в 01:11
поделиться

Службы геолокации и библиотеки maxmind.com обрабатывают IPv6 нормально. Может быть, их вещи - вариант для вас. (Я не имею к ним никакого отношения.)

1
ответ дан 30 November 2019 в 01:11
поделиться

Дружественная поправка к комментарию Ноя (3 июня, 7:57) -

Согласно отделу клиентских служб MaxMind (выделено мной): «IPv6 в настоящее время НЕ поддерживается. В какой-то момент в будущем мы действительно планируем реализовать это, но в настоящее время у нас нет даты ».

2
ответ дан 30 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: