Ist es sicher zu vertrauen $_SERVER['REMOTE_ADDR']
? Kann es ersetzt werden, indem der Header der Anfrage oder ähnliches geändert wird?
Ist es sicher so etwas zu schreiben?
if ($_SERVER['REMOTE_ADDR'] == '222.222.222.222') { // my ip address
$grant_all_admin_rights = true;
}
php
security
ip-address
Silbernes Licht
quelle
quelle
$_SERVER['REMOTE_ADDR']
Variable nicht fälschen, indem Sie einen HTTP-Anforderungsheader festlegen. PHP stellt automatisch alle HTTP-Anforderungsheader voran,HTTP_
wenn Schlüssel im$_SERVER
Superglobal erstellt werden.Antworten:
Ja, es ist sicher. Dies ist die Quell-IP der TCP-Verbindung und kann nicht durch Ändern eines HTTP-Headers ersetzt werden.
Ein Fall, über den Sie sich Sorgen machen sollten, ist, wenn Sie sich hinter einem Reverse-Proxy befinden. In diesem Fall ist REMOTE_ADDR immer die IP des Proxyservers, und die Benutzer-IP wird in einem HTTP-Header (z. B. X-Forwarded-For) angegeben ). Für den normalen Anwendungsfall ist das Lesen von REMOTE_ADDR jedoch in Ordnung.
quelle
$_SERVER['REMOTE_ADDR']
ist die IP-Adresse, über die die TCP-Verbindung eingegangen ist. Während es technisch möglich ist, IP-Adressen im Internet bidirektional zu fälschen (durch Ankündigung von Foul-Routen über BGP), werden solche Angriffe wahrscheinlich entdeckt und stehen dem typischen Angreifer nicht zur Verfügung. Grundsätzlich muss Ihr Angreifer die Kontrolle über einen ISP oder Carrier haben. Es gibt (noch) keine möglichen unidirektionalen Spoofing-Angriffe gegen TCP. Bidirektionales IP-Spoofing ist in einem LAN jedoch trivial.Beachten Sie auch, dass es sich möglicherweise nicht um eine IPv4-Adresse, sondern um eine IPv6-Adresse handelt. Ihre aktuelle Überprüfung ist in dieser Hinsicht in Ordnung, aber wenn Sie überprüfen würden, dass dies
1.2.3.4
nur irgendwo innerhalb der Datenbank auftritt, kann$_SERVER['REMOTE_ADDR']
ein Angreifer einfach eine Verbindung herstellen2001:1234:5678::1.2.3.4
.Zusammenfassend können Sie für andere als kritische Anwendungen (Bankwesen / Militär / potenzieller Schaden> 50.000 €) die Remote-IP-Adresse verwenden, wenn Sie Angreifer in Ihrem lokalen Netzwerk ausschließen können.
quelle
$_SERVER['REMOTE_ADDR']
es sich um die IP-Adresse handelt, auf die die TCP-Verbindung eingegangen ist, hängt vollständig von Ihrer SAPI ab.you have been kicked off the wlan
das Erstellen von Spoofing- Paketen mit den richtigen Tools vereinfachen. GoogleWPA downgrade test
zum BeispielWie oben erwähnt, ist es nicht absolut sicher. Das heißt aber nicht, dass Sie es nicht benutzen sollten. Kombinieren Sie dies mit einigen anderen Authentifizierungsmethoden, z. B. dem Überprüfen von COOKIE-Werten.
quelle