php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mobile Seite erkennt Handynummer


 
weltvolk
09-03-2009, 14:46 
 
Wie kann es sein, dass die Handynummer mitunter ausgelesen wird, wenn man sich mit dem Handy auf mobilen Seiten bewegt? Dies ist u. a. auf mobil.freenet.de der Fall. Geht das über php oder was steckt dahinter?

 
fireweasel
09-03-2009, 17:52 
 
Original geschrieben von weltvolk
Wie kann es sein, dass die Handynummer mitunter ausgelesen wird, wenn man sich mit dem Handy auf mobilen Seiten bewegt? Dies ist u. a. auf mobil.freenet.de der Fall. Geht das über php oder was steckt dahinter?

Manche Clients/Gateways schicken anscheinend die Nummer per HTTP-Header (http://mobiforge.com/developing/blog/useful-x-headers) mit. Suche auf der verlinkten Seite nach "phone number".

 
weltvolk
10-03-2009, 12:44 
 
Alles klar, kann man die betreffenden Header jetzt mit PHP auslesen oder hat das gar nichts mehr mit PHP zu tun?

 
fireweasel
10-03-2009, 13:26 
 
Wenn apache_request_headers() (http://php.net/manual/de/function.apache-request-headers.php) nicht existiert, dann musst du dir die HTTP-Header von Hand aus dem $_SERVER-Array klauben (php.net/manual/de/function.apache-request-headers.php#70810).

 
weltvolk
10-03-2009, 13:38 
 
Jetzt habe ich, glaube ich, verstanden, dass der Server den Nummern-Header haben, d. h. senden muss und nicht das Handy.

 
fireweasel
10-03-2009, 13:42 
 
Ernsthaft?
Die von mir erwähnten Header sendet der Client beim Request an den Server ...

 
weltvolk
10-03-2009, 13:47 
 
Dann habe ich es wohl falsch verstanden und man kann mit einem PHP-Skript, egal auf welchem Server es liegt, die Nummer auslesen.

 
weltvolk
11-03-2009, 10:49 
 
Also, bei folgendem Skript wird nur der User-Agent angezeigt, die Variablen 1 - 7, die die Telefonnummer anzeigen sollen, bleiben leer. Warum?

<?php
// User-Agent
echo $_SERVER['HTTP_USER_AGENT'];

// Telefonnummer
echo "<br><br>1:<br>";
echo $_SERVER['x-up-calling-id'];
echo "<br><br>2:<br>";
echo $_SERVER['x-nokia-alias'];
echo "<br><br>3:<br>";
echo $_SERVER['x-nokia-msisdn'];
echo "<br><br>4:<br>";
echo $_SERVER['x-drutt-portal-user-msisdn'];
echo "<br><br>5:<br>";
echo $_SERVER['x-h3g-msisdn'];
echo "<br><br>6:<br>";
echo $_SERVER['x-msisdn'];
echo "<br><br>7:<br>";
echo $_SERVER['x-wsb-identity'];
?>

 
PHP-Desaster
11-03-2009, 10:59 
 
Mach doch mal ein var_dump($_SERVER). Http-Header werden in der Form HTTP_HEADER in diesem Array abgelegt, also zum Beispiel wird x-nokia-msisdn zu HTTP_X_NOKIA_MSISDN.

 
weltvolk
11-03-2009, 11:28 
 
Habe alles geändert, leider ohne Erfolg. Bei var_dump($_SERVER) taucht übrigens keine der Handynummer-Variablen auf.

<?php
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br><br>1:<br>";
echo $_SERVER['HTTP_X_UP_CALLING_ID'];
echo "<br><br>2:<br>";
echo $_SERVER['HTTP_X_NOKIA_ALIAS'];
echo "<br><br>3:<br>";
echo $_SERVER['HTTP_X_NOKIA_MSISDN'];
echo "<br><br>4:<br>";
echo $_SERVER['HTTP_X_DRUTT_PORTAL_USER_MSISDN'];
echo "<br><br>5:<br>";
echo $_SERVER['HTTP_X_H3G_MSISDN'];
echo "<br><br>6:<br>";
echo $_SERVER['HTTP_X_MSISDN'];
echo "<br><br>7:<br>";
echo $_SERVER['HTTP_X_WSB_IDENTITY'];
echo "<br><br>";
echo var_dump($_SERVER);
?>

 
PHP-Desaster
11-03-2009, 12:10 
 
Du musst natürlich auch mit einem Gerät unterwegs sein, welches diese Http-Header setzt. Wo sollen die Daten sonst herkommen?

 
weltvolk
11-03-2009, 12:19 
 
Bin mit einem Nokia E61 unterwegs. Gibt es noch mehr Handynummern-Header?

 
unset
11-03-2009, 13:01 
 
Lass dir doch einfach mal alle Header ausgeben und schau, was dir da geliefert wird :rolleyes:

 
weltvolk
11-03-2009, 13:46 
 
Habe mir die Header mit dem php.net-Beispielskript ausgeben lassen, meine Handynummer ist nicht mit dabei :confused:

<?php
$headers = apache_request_headers();

foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>

:dontknow: :dontknow: :dontknow:

 
PHP-Desaster
11-03-2009, 13:50 
 
Dann wird die von deinem Handy nicht übertragen. Finde ich im übrigen auch sinnvoller, solche Daten nicht an alle möglichen Webseiten zu schicken.

 
weltvolk
11-03-2009, 14:01 
 
Wie kann freenet dann meine Handynummer lesen?

 
unset
11-03-2009, 14:30 
 
Ist Freenet evtl. dein Provider?!

 
weltvolk
11-03-2009, 14:40 
 
Nein, bin bei T-Mobile. Übrigens ist es bei m.flirtomatic.de dasselbe. Man geht auf die Seite und schon wird die Nummer ausgelesen und als Nutzername verwendet, was man dann ungefragt über eine SMS erfährt, die gleich das Passwort enthält. Wie machen die das?

 
lennart
11-03-2009, 15:35 
 
Dann schickt dein Mobiltelefon das mit. Prüf nochmal die Header. ;)

 
weltvolk
11-03-2009, 18:12 
 
Das habe ich doch schon, aber die Telefonnummer wird dabei nicht sichtbar.

 
fireweasel
11-03-2009, 20:43 
 
Original geschrieben von PHP-Desaster
Dann wird die von deinem Handy nicht übertragen. Finde ich im übrigen auch sinnvoller, solche Daten nicht an alle möglichen Webseiten zu schicken.

Seh ich auch so.

Original geschrieben von weltvolk
Nein, bin bei T-Mobile. Übrigens ist es bei m.flirtomatic.de dasselbe. Man geht auf die Seite und schon wird die Nummer ausgelesen und als Nutzername verwendet, was man dann ungefragt über eine SMS erfährt, die gleich das Passwort enthält. Wie machen die das?

Welche HTTP-Header sendet denn das Handy überhaupt?


$headers = apache_request_headers();
ksort($headers);
var_dump(array_keys($headers));


Wenn sich da drin wirklich nichts Brauchbares findet, dann kooperiert der Websitebetreiber mit irgendeinem Service-Anbieter oder direkt mit dem Mobilfunkprovider, um an die Nummer zu kommen. Mit einfachem PHP kannst du das dann nicht nachbauen und es wird sicher auch etwas kosten, diese Dienstleistung zu nutzen.

Eine Beschreibung eines solchen Protokolls findest zu bspw. hier:
http://www.cyber-dynamix.de/downloads/Mobile_Devices_User_Protokoll.pdf

Ob das jetzt irgendwo eingesetzt wird, kann ich nicht sagen. Eine kurze Google-Recherche hat nichts Brauchbares gebracht.

 
PHP-Desaster
11-03-2009, 20:46 
 
Was hast du denn sonst so für Header da? Vielleicht ist der ja in irgendeiner Form kodiert?

 
weltvolk
12-03-2009, 11:33 
 
Accept
Accept-Charset
Accept-Encoding
Accept-Language
Cache-Control
Connection
Host
User-Agent
X-Forwarded-For

 
PHP-Desaster
12-03-2009, 13:16 
 
Ja, wie ich schon sagteDann wird die von deinem Handy nicht übertragen.

 
weltvolk
12-03-2009, 16:34 
 
Nein, aber über X-FORWARDED-FOR kommen sie auf den Provider, bei dem sie sich dann die Mobilfunknummer aus der Datenbank holen - pervers!

 
wahsaga
12-03-2009, 18:21 
 
Original geschrieben von weltvolk
Nein, aber über X-FORWARDED-FOR kommen sie auf den Provider, bei dem sie sich dann die Mobilfunknummer aus der Datenbank holen - pervers!
Vermutest du das - oder ist das eine gesicherte Erkenntnis?

Und über welchen Wert soll dieses Nachschlagen der Nummer geschehen?

 
weltvolk
12-03-2009, 19:33 
 
Gesicherte Erkenntnis ist, dass die Telefonnummer mithilfe der o. a. Header herausgefunden werden kann, oder?

 
asp2php
12-03-2009, 19:45 
 
Wie hast du denn die Request-Header ermittelt? Per Handy eine Seite von deiner WebSeite aufgerufen? Hast du denn schon

print_r(apache_request_headers());

gemacht und die Ausgabe dir angeschaut?

 
weltvolk
12-03-2009, 20:02 
 
Ja, das habe ich jetzt auch noch versucht, aber es ist keine Handynummer dabei. Über die IP kann man doch auf den Provider schließen, der letztlich alle Userdaten hat.

 
unset
12-03-2009, 20:06 
 
Original geschrieben von weltvolk
Ja, das habe ich jetzt auch noch versucht, aber es ist keine Handynummer dabei. Über die IP kann man doch auf den Provider schließen, der letztlich alle Userdaten hat.
Aber unter Garantie nicht einfach mal so locker-flockig an jeden der fragt rausgibt. Datenschutz ist zwar durchaus aufgeweicht zurzeit, aber so schlimm ist es dann noch nicht.

Zeig doch mal her, was du überhaupt so schickst ... Bis jetzt hälst du dich mit Sachdienlichen Informationen ja eher bedeckt.

 
weltvolk
12-03-2009, 20:12 
 
Die Header, die das Handy sendet, habe ich hier doch bekanntgegeben. Was sollte da denn noch interessant sein?

 
unset
12-03-2009, 20:17 
 
Die Inhalte ... :rolleyes:

 
asp2php
12-03-2009, 21:05 
 
Original geschrieben von weltvolk
Die Header, die das Handy sendet, habe ich hier doch bekanntgegeben. Was sollte da denn noch interessant sein?

poste doch den Inhalt von

print_r(apache_request_headers());

wenn du Hilfe brauchst, wenn nicht dann nicht :rolleyes:

 
weltvolk
13-03-2009, 02:27 
 
Array
(
[Pragma] => no-cache
[Accept] => text/html,application/xhtml+xml,text/css,text/vnd.nokia.rs-tgd, */*
[Accept-Charset] => iso-8859-1, utf-8; q=0.7, *; q=0.7
[Accept-Encoding] => gzip, deflate, x-gzip, identity; q=0.9
[Accept-Language] => de;q=1.0,en;q=0.5,tr;q=0.5,et;q=0.5
[User-Agent] => Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es61
[X-Forwarded-For] => 10.221.106.164, 80.187.100.20
[Host] => www.weltvolk.de
[Cache-Control] => no-cache, max-age=43200
[Connection] => close
)

:rolleyes:

 
hhcm
13-03-2009, 09:00 
 
Du bist bei deinen eigenen versuchen aber nich per WLAN unterwegs oder?

 
weltvolk
13-03-2009, 09:05 
 
Nein, ich bin über UMTS unterwegs. Was meinst du mit "eigene Versuche"?

 
hhcm
13-03-2009, 09:12 
 
Auf deiner eigenen Seite Surfen um zu testen, das mein ich mit eigenen Versuchen.

 
weltvolk
13-03-2009, 09:47 
 
Ja, also wie gesagt nicht über WLAN. Was heißt denn vnd.nokia.rs-tgd?

 
newrulez
24-04-2011, 19:50 
 
hallo

ich arbeite in einer firma die solche lösungen für carriers erstellt.
du kannst probieren bist du schwarz wirst. du wirst deine nummer nie sehen. damit dies funktioniert müssen verträge mit dem jeweiligen carriers her. die headernamen die genannt wurden sind korrekt. jedoch werden diese vom deinem carrier angehängt falls du eine seite besuchst mit dem der carrier einen vertrag hat so dass dieser auch seine kunden "billen" kann. die domain muss exakt mit der freigeschalteten übereinstimmen ansonsten gibts keine sogenannte "msisdn". ebenfalls ist möglich das alter beim provider auszulesen um so bspw. "adult"content für nur über 18 jährige anzubieten.
jedoch müssen da auch verträge mit den jeweiligen carriers her und das ist auch gut so.
das wäre ja ein supergau wenn jeder diese header auslesen können.

grüsse

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:52 Uhr.