我已经开发了WAP应用程序,并且希望获得访问我的网站的用户的MSISDN。

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

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

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

最佳答案

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

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

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

某些移动网络会在所有请求上发送 header 。其他人仅在经过特定的APN时发送。有些仅将此 header 发送到特定的IP地址/块。我什至遇到过以$ _GET变量发送MSISDN的网络。您将需要与要支持的每个网络进行核对。

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

还要记住, header 很容易被欺骗,除非确保您是HTTP请求的发起者(例如在Android应用程序内部使用Web View 的情况下),否则不应依赖 header 。自己采取足够的措施。

考虑到所有这些,这就是您应该寻找的:

浏览标题中的以下内容。这根本不是一个全面的MSISDN header 列表,它们只是我在移动开发中遇到的那些 header 。

  • 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。如果找到潜在的匹配项,则将 key 和数据添加到稍后可以通过的列表中,以添加到已知的MSISDN header 列表中。

    我希望这可以澄清一些。要记住的最重要一点是,这不是获取MSISDN的可靠方法。

    关于php - 如何使用PHP在WAP中获取MSISDN号码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10278989/

    10-09 06:26