Alles Anzeigen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
adresse
angeben
anhauen
anzahl
betriebssystem
break
client
count
crawl
deutschland
dip
erkennung
info
information
mann
opus
schweiz
semikolon
top level
versteck
-
Hi, ich hab den Usern auf meiner HP ja schon den gefallen getan die IP anzeigen zu lassen, wie bei www.kao.de
aber jetzt will ich es so machen wie bei www.wieistmeineip.de:
Folgendes soll angezeigt werden:
Ihr Betriebssystem :
Ihr Browser :
Ihr Provider :
Ihr Land :
w?sste da jemand von den klugen lima-usern den php code?
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Provider: <? echo gethostbyaddr($_SERVER['REMOTE_ADDR']) ?> oder einfach nur $_SERVER['REMOTE_HOST']
Betriebssystem und Browser musst du aus dem Useragent rausholen.
Land kann man kostenpflichtig ?ber die IP ermitteln (ist am besten und genauesten). Als n?chstes kann man es ?ber die Sprache des Browser ermitteln.
$_SERVER['HTTP_ACCEPT_LANGUAGE']
Einfach mal unter: http://de3.php.net/reserved.variables schauen! -
Ihr Betriebssystem :
Ihr Browser :
$HTTP_USER_AGENT sieht ungef?hr so aus:
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; QXW0334s)
Dem kannst du das ja entnehmen...
Ihr Provider :
$_SERVER['REMOTE_HOST'] m?sste gehen
Ihr Land :
Guckst du:
http://aktuell.de.selfhtml.org/tippstricks/php/httpsprache/index.htm
Ist ziemlich ausf?hrlich...
H2O
-
Zum Browser:
// important to order by parent ie MSIE then OPERA.
$browser = array (
"MSIE", // parent
"OPERA",
"MOZILLA", // parent
"NETSCAPE",
"FIREFOX",
"SAFARI"
);
$info[browser] = "OTHER";
foreach ($browser as $parent) {
$s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent);
$f = $s + strlen($parent);
$version = substr($_SERVER['HTTP_USER_AGENT'], $f, 5);
$version = preg_replace('/[^0-9,.]/','',$version);
if (strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent)) {
$info[browser] = $parent;
$info[version] = $version;
}
}
$browserr = $info[browser] . $info[version];
damit is schon rausgefilter wasf?n browser es is.
-
Da sich die Anderen schon freundlicherweise um Browser- und IP-Erkennung gek?mmert haben:
"Land" und "Provider" ermittelt man aus dem DNS-Namen der Benutzer-IP:
if( isset( $_SERVER['X-FORWARDED-FOR'] ) ) $my_remote_addr = $_SERVER['X-FORWARDED-FOR'];
elseif( isset( $_SERVER['REMOTE_HOST'] ) ) $my_remote_addr = $_SERVER['REMOTE_HOST'] ;
else $my_remote_addr = $_SERVER['REMOTE_ADDR'] ;
if( is_valid_ip($my_remote_addr) ) $my_remote_addr = @gethostbyaddr($my_remote_addr);
Manchmal gibt es aber nur die IP-Adresse (in Zahlen), dann schl?gt die Ermittlung nat?rlich fehl.
Das "Land" wird aus der Top-Level-Domain von $my_remote_addr ermittelt:
de=Deutschland, at=?sterreich, ch=Schweiz, dd=DDR, ... usw.
Der Provider versteckt sich meist in der Second-Level-Domain, Beispiele:
arcor-ip.net
t-dialin.net
t-ipconnect
Um so etwas aber genau zu ermitteln, musst du dir eine Art Datenbank anlegen, die die jeweiligen Strings einem bestimmten Provider zuordnet. Auch k?nnen die "Provider-Kennungen" eine ganz andere Top-Level-Domain haben, wie beispielsweise ".net" oder ".com", aber trotzdem dem Land ".de" zugeordnet werden.
Ich hab mal die Logfile-Eintr?ge von meine "Website" f?r April (die ersten zwei Tage) aus der Statistik kopiert:
googlebot.com
p50910e9b.dip0.t-ipconnect.de
t-ipconnect.de
arcor-ip.net
eduhi.at
fw.eduhi.at
pppool.de
t-dialin.net
crawl-66-249-64-52.googlebot.com
crawl-66-249-64-7.googlebot.com
crawl-66-249-71-17.googlebot.com
i3ed659f5.versanet.de
i89f0.i.pppool.de
versanet.de
66-194-6-77.gen.twtelecom.net
acb05a0d.ipt.aol.com
aol.com
dialin-145-254-071-113.arcor-ip.net
dialin-145-254-073-173.arcor-ip.net
dsl-084-056-147-238.arcor-ip.net
ib28b.i.pppool.de
m2262p004.adsl.highway.telekom.at
p50874340.dip.t-dialin.net
p5482fd95.dip.t-dialin.net
pd9eeb40c.dip.t-dialin.net
telekom.at
twtelecom.net
So k?nnen also User-Adressen aussehen.
Alle diese Angaben (auch die ?ber Browser, Betriebssystem und Referrer) sind nur spekulativ, denn man kann sie verstecken oder f?lschen (oder weglassen). Oder glaubst du, ich w?rde allen Leuten verraten, mit welchem Betriebssystem ich im Web unterwegs bin?
MfG
alopex
-
Ich hab hier noch ein Script, das Land, Browser usw. herausfindet.
<?
$ip = $_SERVER['REMOTE_ADDR'];
$informationen = $_SERVER['HTTP_USER_AGENT'];
$host = gethostbyaddr($ip);
// Host
$hostarray = explode(".",$host);
$anzahl = count($hostarray) -1;
$hostendung = $hostarray[$anzahl];
// --------------------------------
// Klammern durch Semikolon ersetzen
$suche = array(")","(");
$informationen = str_replace($suche,";",$informationen);
// Ersetzung von Klammern durch Semikolon fertig!
$array = explode(";",$informationen);
// OS
$betriebssystem = $array['3'];
// ---------------------------------------
$anzahl2 = count($array) -1;
$browser = $array[$anzahl2];
// Land
switch($hostendung)
{
case "ch":
$land = "Schweiz";
break;
case "de":
$land = "Deutschland";
break;
default:
$land = "Land: Weder CH noch D!";
break;
}
// --------------- Land
echo "OS: $betriebssystem<br>Land: $land<br>Browser: $browser<br>IP: $ip<br>Host: $host<br>Hostendung: $hostendung";
?>
-
Alle diese Angaben (auch die ?ber Browser, Betriebssystem und Referrer) sind nur spekulativ, denn man kann sie verstecken oder f?lschen (oder weglassen). Oder glaubst du, ich w?rde allen Leuten verraten, mit welchem Betriebssystem ich im Web unterwegs bin?
MfG
alopex
stimmt man kann sich auch einfach deinen desktop angucken
aber wie soll man das denn verstecken?
der header wird doch durch den browser automatisch gesendet, wie will man das was ver?ndern? -
Hiho!
Immer diese alten Threads! Musst du immer an mir rumkritisieren? Leiste doch mal was Konstruktives, wie z.B. compactdisc!
der header wird doch durch den browser automatisch gesendet, wie will man das was ver?ndern?
Ich sehe, du hast meine update_log() noch nicht in Betrieb. Dann w?sstest du n?mlich, dass es durchaus auch "Browser" gibt, die sich nicht mit "Mozilla" melden. Beispiele gef?llig?
TotalCommander, Browser-Plugin,
AWeb,
wget,
Perl::LWP,
PHP-Scripte mit fsockopen(),
WebCow,
...
au?erdem jeder Browser mit Webwasher, InternetJunkbuster oder anderen vorgeschalteten Proxies. Damit kann man bis auf die n?tigen Header-Bestandteile so gut wie alles ausblenden oder f?lschen. Soll ich deine Website mal mit so einem Teil besuchen? Mal sehen, ob du das rausbekommst.
Soooo sieht das auuuus!
stimmt man kann sich auch einfach deinen desktop angucken
Wo?
MfG
alopex -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage