Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe ein Programm das IP Adressen aus einer Tabelle ausliest. Nur leider wird bei manchen Usern statt der IPv4 Adresse die IPv6 Adresse bzw. zwei IPv4 Adressen eingetragen.

Wie kann ich dafür sorgen, dass nur die IPv4 Adressen geloggt werden?

Gibt ja sicher ein Command das man in den Header schreiben kann wie z.b der für einen festen Zeichensatz.

Finde dazu leider nichts - womöglich liegt es daran, dass ich nach den falschen Begrifflichkeiten suche.

Hier ein Screenshot zur veranschaulichung:

post-86876-14430450018486_thumb.png

Ist das PHP-Code welcher von dir geschrieben wurde oder ist das was externes?

Deine Fehlerbeschreibung gibt kaum etwas verwertbares her, der Screenshot hilft ohne Code nicht.

Du hast ein Problem bei der Verarbeitung, vielleicht liegt die Ursache ja bei der Eingabe? (EVA-Prinzip)

  • Autor

Von mir geschrieben.

Ich verwende folgendes um die IPs zuerkennen:

$_SERVER['HTTP_X_FORWARDED_FOR'];

Warum? Weil mein Webserver auf einer Windowsmaschine läuft und die Domain-Umleitung via Proxy erfolgt und nur mit X FOWARDED FOR die echte Client-IP angezeigt wird.

Wenn dich die anderen Daten nicht interessieren: Schauen, ob $_SERVER['HTTP_X_FORWARDED_FOR'] ne IPv4 Adresse enthält und dann loggen

Siehe z.B.

PHP FILTER_VALIDATE_IP Filter

Dass dir dann die Leute mit IPv6 oder welche die hinter nem Proxy sitzen durch die Lappen gehen ist klar..

Besser vllt so: What is the most accurate way to retrieve a user's correct IP address in PHP? - Stack Overflow

Das hab ich schon gefunden, aber es muss ja nen Grund haben weshalb bei manchen IPv6 oder mehrere IPv4 Adressen angezeigt werden...?
Natürlich gibt es den.

Die grundsätzliche Frage ist doch, was soll in deiner Tabelle stehen, wenn jemand über einen oder mehrere Proxies kommt, oder eben IPv6 benutzt? Wenn du das geklärt hast, kann man darüber reden, wie die Daten verarbeitet werden sollen.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.