как получить номер MSISDN в WAP с помощью PHP?

Я разработал WAP-приложение, и я хотел бы получить MSISDN пользователей, которые посещают мой сайт.

У моего оператора белый список моего приложения WAP.

Я получаю MSISDN успешно на нескольких мобильных телефонах Samsung, но не получаю такого же результата на устройствах Nokia, BlackBerry и iPhone.

Пожалуйста, предложите мне лучший способ получить номер MSISDN для всех устройств.

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

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

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

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

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

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

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

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

  • X-MSISDN
  • X_MSISDN
  • HTTP_X_MSISDN
  • X-UP-ВЫЗОВ-LINE-ID
  • X_UP_CALLING_LINE_ID
  • HTTP_X_UP_CALLING_LINE_ID
  • X_WAP_NETWORK_CLIENT_MSISDN

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

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

Вы можете попробовать эти другие ( оригинал: puedes intentar con estas otras ):

  • X-MSISDN
  • X_MSISDN
  • HTTP-X-MSISDN
  • X-UP-ВЫЗОВ-LINE-ID
  • X_UP_CALLING_LINE_ID
  • HTTP_X_UP_CALLING_LINE_ID
  • X_WAP_NETWORK_CLIENT_MSISDN
  • X-Forwarded-For
  • Proxy-Client-IP
  • WL-Proxy-Client-IP
  • HTTP_CLIENT_IP
  • HTTP_X_FORWARDED_FOR
  • X-Real-IP
  • HTTP_X_UP_CALLING_LINE_ID
  • HTTP_MSISDN
  • MSISDN
  • User-Идентичность-Forward-MSISDN
  • HTTP_X_MSISDN
  • HTTP_X_NOKIA_MSISDN
  • HTTP_X_UP_SUBNO

Иногда заголовки шифруются мобильными операторами. Это может изменить название заголовков. Например, X-MSISDN становится X-ENCR-MSISDN.

Некоторые операторы отправляют х заголовки на запросы сервера, основываясь на моих недавних исследованиях, я обнаружил, что многие операторы скрывают или шифруют или переименовывают заголовки х, и трудно получить MSISDN пользователя, я пробовал много способов и, если вы хотите проверьте свой оператор, вы можете использовать этот доступ к MSISDN для тестового оператора (не забудьте открыть ссылку на мобильное устройство). Я надеюсь, что это поможет вам. Я взял эти заголовки, используя Asp.net Mvc