Groups | Search | Server Info | Login | Register
Groups > de.comp.lang.php > #4869
| From | Arno Welzel <usenet@arnowelzel.de> |
|---|---|
| Newsgroups | de.comp.lang.php |
| Subject | Re: gethostbyaddr, bei Fehler keine IP ausgeben |
| Date | 2022-11-26 17:17 +0100 |
| Message-ID | <juesfrFlb84U1@mid.individual.net> (permalink) |
| References | <tlr6lt$agk2$1@solani.org> |
Detlef Paschke, 2022-11-25 20:56:
> Hallo,
>
> für eine kleine Auswertung einer Seite, verwende ich einen Aufruf mit
> fput, in dem unter anderem die IP und der Hostname des Benutzers
> protokolliert werden.
>
> $_SERVER["REMOTE_ADDR"] . ' | ' . gethostbyaddr($_SERVER['REMOTE_ADDR'])
>
> Kann mit gethostbyaddr() der Hostname jedoch nicht aufgelöst werden,
> wird ebenso die IP ausgegeben. Im Ergebnis stünde dann zwei mal die IP
> in der Ausgabe.
Ja, kommt vor. Nicht jede IP-Adresse kann per rDNS aufgelöst werden.
> Gibt es einen einfachen kleinen Trick, dass von gethostbyaddr() im Fall
> eines Fehler bzw. wenn der Hostname nicht aufgelöst wird, einfach ein
> "False" oder irgend so etwas ähnliches ausgegeben wird?
Nein.
Siehe auch: <https://www.php.net/manual/de/function.gethostbyaddr.php>
"Rückgabewerte:
Gibt bei Erfolg den Hostnamen zurück, im Fehlerfall die unmodifizierte
ip oder false bei einer fehlerhaften Eingabe."
Mein Ansatz wäre:
$ipAddress = $_SERVER["REMOTE_ADDR"];
$hostName = gethostbyaddr($ipAddress);
$result = sprintf(
'%s%s',
$ipAddress,
($ipAddress !== $hostName) ? ' | ' . $hostName : ''
);
Zur Erläuterung, falls ternäre Operatoren nicht bekannt sind - die
dritte Zeile im sprintf() ist eine Abkürzung für sowas:
$ipAddress = $_SERVER["REMOTE_ADDR"];
$hostName = gethostbyaddr($ipAddress);
if ($ipAddress !== $hostName) {
$hostOutput = ' | ' . $hostName;
} else {
$hostOutput = '';
}
$result = sprintf(
'%s%s',
$ipAddress,
$hostOutput
);
--
Arno Welzel
https://arnowelzel.de
Back to de.comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar
gethostbyaddr, bei Fehler keine IP ausgeben Detlef Paschke <schabau@t-online.de> - 2022-11-25 20:56 +0100
Re: gethostbyaddr, bei Fehler keine IP ausgeben Arno Welzel <usenet@arnowelzel.de> - 2022-11-26 17:17 +0100
Re: gethostbyaddr, bei Fehler keine IP ausgeben Detlef Paschke <schabau@t-online.de> - 2022-11-28 16:10 +0100
csiph-web