5

我开发了一个 WAP 应用程序,我想获得访问我网站的用户的 MSISDN。

我的运营商已将我的 WAP 应用程序列入白名单。

我在几部三星手机上成功获得了 MSISDN,但在诺基亚、黑莓和 iPhone 设备上却没有获得相同的结果。

请建议我获取所有设备的 MSISDN 号码的最佳方法。

4

4 回答 4

9

获取访问 WAP 站点的用户的 MSISDN 的能力取决于许多因素。

首先,用户必须使用移动数据。如果用户在 WiFi 上,那么您将不会收到此信息。

其次,用户的移动网络必须支持 MSISDN 在 HTTP 标头中的传递。

一些移动网络会在所有请求上发送标头。其他人仅在通过特定 APN 时发送。有些只将此标头发送到特定的 IP 地址/块。我什至遇到过将 MSISDN 作为 $_GET 变量发送的网络。您将需要检查您打算支持的每个网络。

例如,直到大约 6 个月前,南非的一个特定网络过去一直在标头中发送 MSISDN,为了在标头中接收 MSISDN,您的服务器地址需要与它们一起列入白名单。

还要记住,标头很容易被欺骗,除非您保证自己是 HTTP 请求的发起者,否则不应依赖标头,例如在您在 Android 应用程序中使用 Web 视图的情况下 - 您需要自己采取足够的措施。

考虑到所有这些,您应该寻找以下内容:

查看您的标题是否有以下任何内容。这根本不是 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_MSISDN

我所做的是通过标题查找任何匹配项。如果我没有找到任何匹配项,我会再次使用特定于国家/地区的 MSISDN 正则表达式针对这些值运行标头,以查看我不知道的键的标头中是否有任何潜在的 MSISDN。如果我找到一个潜在的匹配项,我会将密钥和数据添加到我以后可以通过的列表中,以便添加到我的已知 MSISDN 标头列表中。

我希望这已经购买了一些清晰度。最重要的是要记住,这不是获取 MSISDN 的可靠方法。

于 2012-06-22T07:33:36.993 回答
1

You can try these others (original: puedes intentar con estas otras):

  • 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_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-Identity-Forward-msisdn
  • HTTP_X_MSISDN
  • HTTP_X_NOKIA_MSISDN
  • HTTP_X_UP_SUBNO
于 2014-09-10T22:12:54.727 回答
0

有时标头由移动运营商加密。这可能会更改标题的命名。例如,X-MSISDN 变为 X-ENCR-MSISDN。

于 2014-09-17T08:26:23.250 回答
0

一些运营商在服务器请求上发送 x 标头,根据我最近的研究,我发现许多运营商隐藏或加密或重命名 x 标头,并且很难检索用户的 MSISDN,我尝试了很多方法,如果你想测试您的运营商,您可以使用本网站测试运营商的 MSISDN 可用性(记得用您的移动设备打开链接)希望对您有所帮助。我已使用 Asp.net Mvc 提取了这些标头

于 2017-02-18T11:56:12.367 回答