Heim > Artikel > Backend-Entwicklung > Können Sie $_SERVER['REMOTE_ADDR'] wirklich vertrauen?
Die Zuverlässigkeit von $_SERVER['REMOTE_ADDR']
Der $_SERVER['REMOTE_ADDR'] ist eine wichtige Variable in der Webentwicklung. Bereitstellung der IP-Adresse des Clients, der eine HTTP-Anfrage initiiert. Es gibt jedoch ein weit verbreitetes Missverständnis, dass dieser Wert leicht gefälscht werden kann, was zu Bedenken hinsichtlich seiner Vertrauenswürdigkeit führt.
Kann $_SERVER['REMOTE_ADDR'] vertrauenswürdig sein?
Ja, es ist im Allgemeinen sicher, dem Wert $_SERVER['REMOTE_ADDR'] zu vertrauen. Sie stellt die IP-Adresse der TCP-Verbindung des Clients dar und kann nicht durch Ändern der HTTP-Header geändert werden. Dies liegt daran, dass die IP-Adresse eine Eigenschaft der TCP/IP-Verbindung ist und nicht als Teil der HTTP-Header übertragen wird.
Potenzielle Fallstricke
Es gibt jedoch solche eine wichtige Ausnahme von dieser Regel. Wenn sich Ihr Server hinter einem Reverse-Proxy befindet, stellt REMOTE_ADDR die IP-Adresse des Proxy-Servers dar, nicht die des Clients. In diesem Fall wird die IP-Adresse des Clients in einen HTTP-Header aufgenommen, typischerweise X-Forwarded-For.
Wenn sich Ihr Server beispielsweise hinter einem Reverse-Proxy mit der IP-Adresse 111.111.111.111 befindet, werden Anfragen an Ihr Server scheint von dieser IP-Adresse zu stammen. Um in diesem Szenario die IP-Adresse des Clients zu erhalten, müssten Sie den Header $_SERVER['REMOTE_ADDR'] ist ein zuverlässiger Ansatz zur Ermittlung der IP-Adresse des Clients.
Das obige ist der detaillierte Inhalt vonKönnen Sie $_SERVER['REMOTE_ADDR'] wirklich vertrauen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!