Wie kann ich feststellen, ob sich der Benutzer in PHP auf localhost befindet?
In anderen Worten, wie kann ich feststellen, ob die person, die mit meiner web-Anwendung ist auf dem server auf dem es sich befindet? Wenn ich mich richtig erinnere, PHPMyAdmin nicht so etwas wie dies aus Gründen der Sicherheit.
InformationsquelleAutor der Frage Richie Marquez | 2010-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie auch
$_SERVER['REMOTE_ADDR']
für die IP-Adresse der client anfordert, wird von dem web-server.InformationsquelleAutor der Antwort mauris
Als Ergänzung, als eine Funktion...
InformationsquelleAutor der Antwort Jens Törnell
$_SERVER["REMOTE_ADDR"]
sollte Ihnen sagen, die IP des Nutzers. Es ist spoofable, obwohl.Überprüfen das Kopfgeld-Frage für eine ausführliche Diskussion.
Ich denke, was du denken Sie daran, mit PHPMyAdmin ist etwas anderes: Viele MySQL-Server sind so konfiguriert, dass Sie nur den Zugriff von localhost aus Gründen der Sicherheit.
InformationsquelleAutor der Antwort Pekka 웃
Neuere OS user (Win 7, 8) können auch finden es notwendig, eine IPV6-format remote-Adresse in Ihre whitelist-array:
InformationsquelleAutor der Antwort reekogi
Es scheint nicht, sollten Sie Sie verwenden
$_SERVER['HTTP_HOST']
denn dies ist der Wert im http-header leicht gefälscht.Können Sie verwenden
$_SERVER["REMOTE_ADDR"]
zu, dies ist die sicherere Wert, aber es ist auch möglich, fake. Dieseremote_addr
ist die Adresse, wo Apache Ergebnis.InformationsquelleAutor der Antwort nicola
Wenn Sie möchten, um eine whitelist /allowlist unterstützt statische IPs und dynamische Namen.
Beispiel:
Diese Weise konnten Sie eine Liste der Namen/IPsdass in der Lage (sicher) erkannt werden. Dynamische Namen, hinzufügen von mehr Flexibilität für den Zugriff von verschiedenen Punkten aus.
Haben Sie zwei gemeinsame Optionen hier, Sie könnten sich einen Namen in Ihrer lokalen hosts-Datei oder Sie könnte einfach ein dynamischen name-Anbieterdass könnte überall gefunden werden.
Diese Funktion speichert die Ergebnisse, weil die gethostbyname ist eine sehr langsame Funktion.
Für diesen Zweck habe ich realisiert diese Funktion:
Für eine bessere Zuverlässigkeit, die Sie ersetzen könnten die $_SERVER['REMOTE_ADDR'] für die get_ip_address ()dass @Pekka erwähnt in seinem post als "das bounty-Frage"
InformationsquelleAutor der Antwort Heroselohim
Wie etwa zu vergleichen
$_SERVER['SERVER_ADDR'] === $_SERVER['REMOTE_ADDR']
um zu bestimmen, ob der client auf dem selben Rechner wie der server?InformationsquelleAutor der Antwort Eugen Wesseloh
Fand ich eine einfache Antwort.
Da alle lokalen Laufwerke C: oder D: oder F: ... usw.
Nur erkennen, wenn das zweite Zeichen ein :
InformationsquelleAutor der Antwort Scoobeedo Cool