web-dev-qa-db-ja.com

ブラウザでMSISDN(携帯電話番号)を検出する

このXヘッダー以外のモバイルユーザー番号を検出するために使用できるHTTPヘッダーはありますかx-up-calling-line-id

すべてのプラットフォームのモバイルをカバーするために、可能な限りすべてのブラウザから検出したいと思います。

10
kitokid

非常によく似た質問に対して私が与えたのとまったく同じ答えを与えます。それはあなたが達成しようとしていることへの洞察を提供するはずだからです。

WAPサイトにアクセスしているユーザーのMSISDNを取得できるかどうかは、いくつかの要因によって異なります。

まず、ユーザーはモバイルデータを使用している必要があります。ユーザーがWiFiを使用している場合、この情報は受信されません。

次に、ユーザーのモバイルネットワークは、HTTPヘッダーでのMSISDNの受け渡しをサポートする必要があります。

一部のモバイルネットワークは、すべてのリクエストでヘッダーを送信します。他の人は、特定のAPNを通過する場合にのみ送信します。このヘッダーを特定のIPアドレス/ブロックにのみ送信するものもあります。 MSISDNを$ _GET変数として送信するネットワークに出くわしたこともあります。サポートする予定の各ネットワークを確認する必要があります。

たとえば、南アフリカの特定のネットワークは、約6か月前までヘッダーでMSISDNを送信していましたが、ヘッダーでMSISDNを受信するには、サーバーアドレスをホワイトリストに登録する必要があります。

また、ヘッダーは非常に簡単にスプーフィングされるため、Android内でWebビューを使用している場合など、HTTPリクエストの発信者であることが保証されていない限り、信頼しないでください。アプリケーション-自分で十分な対策を講じる必要があります。

そのすべてを念頭に置いて、ここにあなたが探しているべきものがあります:

ヘッダーを調べて、次のいずれかを探します。これは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を取得するための信頼できる方法ではないということです。

36
darryn.ten

正直なところ、この機能がすべて必要になることはありません。いくつかのWebサイトにアクセスし、それらがヘッダー「x-up-calling-line-id」から電話番号を取得するとします。そしてこれらのウェブサイトはあなたの電話番号をテレマーケティング業者に販売します。あなたはそのような状況になりたいですか?

技術的な理由が異なります。 電話番号 電話に保存されることはありません(通常)。 SIMカードはIMSI番号で識別され、 Home Location Registry (MSC)には、IMSIを電話番号にマップするエントリが含まれています。だからあなたの質問に答えるために、これは不可能です。

4
Kiran Kuppa

PHPでApache_request_headers()を使用してMSISDNを取得します。ただし、ユーザーのモバイルネットワークはHTTPヘッダーでのMSISDNの受け渡しをサポートする必要があります。

1
Saqib Mahmood