2011-12-08 21 views
9

是否有任何HTTP标头可使用以检测移动用户人数比该X头x-up-calling-line-id其他?与浏览器检测MSISDN(移动号码)

我想尽可能地从所有浏览器中检测到,以覆盖所有平台手机。

+3

我几乎可以肯定的是,如果这个DID存在,它会被用于恶意目的的速度超过您可以说的“违反个人完整性”。 –

+0

它可以要求用户许可。 – zehelvion

回答

30

我会给你我给了一个非常类似的问题的确切相同的答案,因为它应该提供一些洞察到你想要达到的目的。

来获取用户访问WAP网站的MSISDN的能力取决于一些事情。

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

其次,用户的移动网络具有支持所MSISDN的通过在HTTP报头。

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

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

还要记住,头文件很容易被欺骗,除非您保证您是HTTP请求的创始者,例如您在Android应用程序中使用Web视图的情况下,你将需要采取充分的措施。

考虑到了这一切,这里是什么,你应该寻找:

翻检标题为以下任一。这并不是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的可靠方法。

+0

是否与启动应用程序相同 - 应用程序可以访问MSISDN吗? –

+0

APP可以简单地从安装的手机上请求号码。 –

+0

@CaptainKenpachi和手机可以伪造 –

3

老实说,你不希望这个功能。假设您访问了几个网站,并从头文件“x-up-calling-line-id”中捕获您的电话号码。这些网站会将您的电话号码出售给电话推销员。你想在这种情况下?

技术原因不同。永远不会在手机上存储Phone number(通常)。 SIM卡由IMSI号码标识,并且Home Location Registry(在MSC)包含将IMSI映射到电话号码的条目。所以要回答你的问题,这是不可能的。

+0

是的。我认为应该问电信公司是我们的客户。 – kitokid

+0

这是否回答你的问题?如果是这样,你可以选择它作为一个。 –

1

在PHP中使用apache_request_headers()来获取MSISDN。但是,用户移动网络必须支持在HTTP头中传递MSISDN。