php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Script zur Abfrage der IP, Browsertyp und Provider


Alu
14-07-2005, 18:13
Hallo ich suche einen Script der ermöglichen soll das Besucher von meiner Homepage Ihre Ip, Browerstyp und Provider agenzeigt bekommen. ALso wie auf dieser Seite http://daten.rehbein.net/

Ich habe eine PHP Script der nur ermöglicht die IP anzuzeigen:
<?
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
echo "$ip";
?>

wie müsste ich ihn erweiter um die anderen sachen auch abzufragen?

jahlives
14-07-2005, 18:26
Den Browsertyp kriegst du aus dem $_SERVER['HTTP_USER_AGENT'] zusammen mit dem Betriebssystem.
Den Provider kriegst du indem du auf die IP eine whois Abfrage machst und aus dieser den Eigentümer der IP (Provider) rausliest.

Gruss

tobi

Ev hilf dir dieser Link (http://www.domaininformation.de/whois-script-tutorial.html) weiter

Shurakai
14-07-2005, 18:29
echo '<pre>'; print_r($_SERVER); echo '</pre>';

Schau dir mal die Ausgabe an.... :)
Den Provider müßtest du manuell über eine externe Datenbank herausfinden, die IP-Bereichen die Provider zuordnen kann....

prego
14-07-2005, 20:09
ich empfehle das du dir mal die phpinfo() anschaust....


<?php

phpinfo();

?>


Aber das mit $_SERVER wurde ja schon gesagt. PHP-Info finde ich einfach nur übersichtlicher....

tomstig
14-07-2005, 21:11
Und außerdem gibts auch für dich, alu, den [ php ] Tag...

Alu
14-07-2005, 22:23
Sorry bin noch neu

tomstig
14-07-2005, 22:40
beim zweiten musst du [/php] schreiben ;)

Alu
15-07-2005, 10:32
irgendwie klapps net hab alles zusammen gefügt aber irgend wie wills nicht klappen. Was ich noch dazu sagen woll ich möchte nicht den server wissen auf dem meine seite liegt sondern das meine besucher ihre angaben bekommen

mrhappiness
15-07-2005, 10:43
irgendwie machst du was falsch

Alu
15-07-2005, 10:45
hab ich auch das gefühl ich weiß nun mal nicht wie ich diesen $_Server einfügen muss und wie.

asp2php
15-07-2005, 11:21
:rtfm: Lesen (http://www.php.net/reserved.variables) macht schlau; (bitte auch alles lesen)

Alu
15-07-2005, 12:29
Also Browser und Betriebssystem kann ich nun abfragen aber wie kann ich nun den Provider, meine den Internetabieter also z.b. Telekom etc, und das hier abfragen p508D3727.dip.t-dialin.net habe ich bis jetzt immer noch nicht hin bekommen.

penizillin
15-07-2005, 12:53
http://www.whois.net/whois.cgi2?d=t-dialin.net

der ermöglichen soll das Besucher von meiner Homepage Ihre Ip, Browerstyp und Provider agenzeigt bekommen http://www.dassdas.de/

die armen besucher, quälen sich in der ungewissheit, wie denn ihr provider nu heißt, können nachts nicht einschlafen, weil ihnen ihre ip-adresse unbekannt ist...

Shurakai
15-07-2005, 12:57
gethostbyaddr <- das is wohl das was du suchst, um das überhaupt erstmal so zu bekommen... ansonsten musst du wohl oder übel ne connection zu so einer whois-datenbank aufbauen und da checken...!

Alu
15-07-2005, 13:10
Also die gethostbyaddr hab ich schon ausprobiert und sie in meinen script rein kopiert aber das will irgendwie nicht klappen

penizillin
15-07-2005, 13:12
aber das will irgendwie nicht klappen dann wirst du einen fehler übersehen haben - herzlichen glückwunsch!

Shurakai
15-07-2005, 13:17
Meine Hellseher-Kugel is grad im Eimer (im wahrsten Sinne des Wortes), meine neue krieg ich erst in nen paar Wochen wenn ich meine Zulassung von den blöden Wahrsagerinnen zurückbekomm, hab die da "leider" gestern nacht liegen lassen...

Alu
15-07-2005, 13:22
Also so weit hab ich bis jetzt den PHP Script

<?
if(getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} elseif(getenv("HTTP_X_FORWARDED_FOR")) {
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv("REMOTE_ADDR");
}
echo "$ip";
?>

<?
$browser = getenv("HTTP_USER_AGENT");
echo $browser;
?>

und diesen wollte ich einfügen um den Provider also Telekom etc. raus zu bekommen.

<?
function gethost($ip)
{
$host = `host $ip`;
$host=end(explode(' ',$host));
$host=substr($host,0,strlen($host)-2);
$chk=split("\(",$host);
if($chk[1]) return $ip." (".$chk[1].")";
else return $host;
}
?>

was könnte dran falsch sein??

prego
15-07-2005, 22:27
naja, zum beispiel das du mal lernen solltest, das $variablen in ` oder ' nicht geparst werden, sonder nur in "

Alu
15-07-2005, 23:14
wie darf ich das verstehen

jahlives
15-07-2005, 23:19
Wenn du nicht verstehst was prego geschrieben hat, dann probier folgendes:

$variable = 'Heute ist es sehr heiss';
echo "$variable<br>";
echo '$variable';

Wird's jetzt klarer ???

Gruss

tobi

Alu
15-07-2005, 23:29
aha so ist das

penizillin
16-07-2005, 14:10
was könnte dran falsch sein?? Shurakais anmerkung weiter oben interessiert dich nicht weiter?

prego: http://de2.php.net/manual/de/language.operators.execution.php gelesen?

Alu
16-07-2005, 18:58
Jetzt verstehe ich es danke an dem Text konnte man es nun besser erkennen um was es geht danke.

Also ich hab das nur geändert aber irgendwo is noch der wurm drin.

<?
function gethost($ip)
{
$host = "host $ip";
$host=end(explode(' ',$host));
$host=substr($host,0,strlen($host)-2);
$chk=split("(",$host);
if($chk[1]) return $ip." (".$chk[1].")";
else return $host;
}
?>

--

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:19 Uhr.