Определить MSISDN (номер мобильного телефона) с помощью браузера - PullRequest
10 голосов
/ 08 декабря 2011

Есть ли какие-либо HTTP-заголовки, которые можно использовать для определения номера мобильного пользователя, кроме этого X-заголовка x-up-calling-line-id?

Я хочу определить во всех браузерах как можно больше, чтобы охватить все мобильные устройства платформы.

Ответы [ 3 ]

36 голосов
/ 22 июня 2012

Я дам вам точно такой же ответ, который я дал на очень похожий вопрос, поскольку он должен дать некоторое представление о том, чего вы пытаетесь достичь.

Возможность получить MSISDN пользователя, посещающего WAPСайт зависит от ряда вещей.

Во-первых, пользователь должен быть на мобильных данных.Если пользователь подключен к WiFi, вы не получите эту информацию.

Во-вторых, мобильная сеть пользователей должна поддерживать передачу MSISDN в заголовках HTTP.

Некоторые мобильные сети отправляют заголовкина все запросы.Другие отправляют только если проходят через определенную APN.Некоторые отправляют этот заголовок только на определенные IP-адреса / блоки.Я даже сталкивался с сетями, которые отправляют MSISDN как переменную $ _GET.Вам нужно будет проверить каждую сеть, которую вы намереваетесь поддерживать.

Например, определенная сеть в Южной Африке использовалась для отправки MSISDN в заголовках примерно до 6 месяцев назад, а также для получения MSISDN взаголовки теперь ваш адрес сервера должен быть в белом списке вместе с ними.

Также помните, что заголовки очень легко подделать, и на них нельзя полагаться, если вы не гарантированы, что вы являетесь отправителем HTTP-запроса, например,как и в тех случаях, когда вы используете веб-представления внутри приложений Android - вам необходимо самостоятельно принять достаточные меры.

Имея все это в виду, вот что вы должны искать:

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

  • X-MSISDN
  • X_MSISDN
  • HTTP_X_MSISDN
  • X-UP-CALLING-LINE-ID
  • X_UP_CALLING_LINE_ID
  • HTTP_X_UP_CALLING_LINE_ID
  • X_WAP_NETWORK_CLIENT * 10 * * * 10 * * * 10 * 10 * * * 10_32 * * * 10Я бегаю по заголовкам в поисках совпадений.Если я не нахожу никаких совпадений, я снова запускаю заголовки, используя регулярное выражение MSISDN для конкретной страны со значениями, чтобы посмотреть, есть ли потенциальные MSISDN в заголовках для ключей, о которых я не знаю.Если я нахожу потенциальное совпадение, я добавляю ключ и данные в список, через который я могу перейти позже, чтобы добавить в свой список известных заголовков MSISDN.

    Я надеюсь, что это принесло некоторую ясность.Важно помнить, что это не надежный метод получения MSISDN.

4 голосов
/ 08 декабря 2011

Честно говоря, вы не хотели бы, чтобы эта функция все это. Предположим, вы посещаете несколько веб-сайтов, и они фиксируют ваш номер телефона из заголовка «x-up-call-line-id». И эти веб-сайты продают ваш номер телефона телемаркетерам. Вы хотите быть в такой ситуации?

Техническая причина другая. Номер телефона никогда не сохраняется на телефоне (обычно). SIM-карта идентифицируется по номеру IMSI, а Реестр домашних местоположений (в MSC) содержит запись, которая сопоставляет IMSI с номером телефона. Поэтому, чтобы ответить на ваш вопрос, это невозможно.

1 голос
/ 23 мая 2016

Используйте apache_request_headers () в PHP, чтобы получить MSISDN. но мобильная сеть пользователей должна поддерживать передачу MSISDN в заголовках HTTP.

...