Heim  >  Artikel  >  Backend-Entwicklung  >  Welche $_SERVER-Variablen können in PHP sicher verwendet werden?

Welche $_SERVER-Variablen können in PHP sicher verwendet werden?

DDD
DDDOriginal
2024-11-11 00:55:03466Durchsuche

Which $_SERVER Variables Are Safe to Use in PHP?

Identifizieren sicherer $_SERVER-Variablen

Angreifer können Variablen ausnutzen, die Benutzer kontrollieren können, wodurch sie unsicher oder „beschädigt“ werden. Ziel dieses Artikels ist es, eine umfassende Liste der $_SERVER-Variablen und ihrer jeweiligen Sicherheitsstufen bereitzustellen.

Servergesteuert

Diese Variablen werden vom Server festgelegt und sind vom Benutzer nicht betroffen Eingabe:

  • 'GATEWAY_INTERFACE'
  • 'SERVER_ADDR'
  • 'SERVER_SOFTWARE'
  • 'DOCUMENT_ROOT'
  • 'SERVER_ADMIN'
  • 'SERVER_SIGNATURE'

Teilweise Servergesteuert

Diese Variablen hängen von der Anfrage des Clients ab, haben jedoch begrenzte gültige Werte, was sie zuverlässig macht:

  • 'HTTPS'
  • 'REQUEST_TIME'
  • 'REMOTE_ADDR' (Überprüft durch TCP/IP Handshake)
  • 'REMOTE_HOST' (Potenziell spoofable)
  • 'REMOTE_PORT'
  • 'SERVER_PROTOCOL'
  • 'HTTP_HOST' (Falls nicht von der verarbeitet Server)
  • 'SERVER_NAME'
  • 'SCRIPT_FILENAME'
  • 'SERVER_PORT'
  • 'SCRIPT_NAME'

Völlig willkürlicher Benutzer Kontrolliert

Diese Variablen sind anfällig für Benutzermanipulation:

  • 'argv', 'argc'
  • 'REQUEST_METHOD'
  • 'QUERY_STRING'
  • 'HTTP_ACCEPT'
  • 'HTTP_ACCEPT_CH ARSET'
  • 'HTTP_ACCEPT_ENCODING'
  • 'HTTP_ACCEPT_LANGUAGE'
  • 'HTTP_CONNECTION'
  • 'HTTP_REFERER'
  • 'HTTP_USER_AGENT'
  • 'AUTH_TYPE'
  • 'PHP_AUTH_DIGEST'
  • 'PH P_AUTH_USER'
  • 'PHP_AUTH_PW'
  • 'PATH_INFO'
  • 'ORIG_PATH_INFO'
  • 'REQUEST_URI' (Kann fehlerhafte Daten enthalten)
  • 'PHP_SELF' (Kann fehlerhafte Daten enthalten)
  • 'PATH_TRANSLATED'
  • Jeder andere 'HTTP_'-Wert

Umwelt Variablen

Die Sicherheit von Umgebungsvariablen hängt von ihrer Quelle ab. Sie können von vollständig servergesteuert bis vollständig benutzergesteuert reichen.

Das obige ist der detaillierte Inhalt vonWelche $_SERVER-Variablen können in PHP sicher verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn