2012-04-23 6 views
4

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

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

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

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

+0

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

ответ

8

Возможность получения 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

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

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

1

Вы можете попробовать эти другие (оригинал: puedes intentar жулик 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
  • х реальном ф
  • HTTP_X_UP_CALLING_LINE_ID
  • HTTP_MSISDN
  • MSISDN
  • User-Идентичность-Forward-MSISDN
  • HTTP_X_MSISDN
  • HTTP_X_NOKIA_MSISDN
  • HTTP_X_UP_SUBNO
0

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

0

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