Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich die automatische Ersetzung von Punkten in Anforderungs- und Cookie-Namen durch PHP umgehen?

Wie kann ich die automatische Ersetzung von Punkten in Anforderungs- und Cookie-Namen durch PHP umgehen?

Linda Hamilton
Freigeben: 2024-12-26 19:33:19
Original
268 Leute haben es durchsucht

How Can I Work Around PHP's Automatic Replacement of Dots in Request and Cookie Names?

PHPs automatische Ersetzung von Punkten in Anfrage- und Cookie-Namen: Gibt es eine Lösung?

PHP ersetzt automatisch Punkte (.) in Anfragen und Cookie-Namen mit Unterstrichen (_), ein Verhalten, das problematisch sein kann.

Warum macht PHP das? Laut PHP.net sind Punkte keine gültigen Zeichen in PHP-Variablennamen, wie im folgenden Beispiel gezeigt:

$varname.ext;  /* invalid variable name */
Nach dem Login kopieren

Um dieses Parsing-Problem zu vermeiden, ersetzt PHP Punkte durch Unterstriche.

Leider gibt es keine direkte Möglichkeit, dieses Verhalten zu deaktivieren. Die Lösung besteht darin, die Unterstriche in Ihrem PHP-Skript mithilfe von String-Manipulationsfunktionen wie str_replace manuell wieder in Punkte umzuwandeln:

<?php
$request_uri = $_SERVER['REQUEST_URI'];
$get_vars = $_GET;

// Convert underscores back to dots in GET variables
foreach ($get_vars as $key => $value) {
  $key = str_replace('_', '.', $key);
  $get_vars[$key] = $value;
}

// Echo the modified GET variables
print_r($get_vars);
?>
Nach dem Login kopieren

Zusätzlich zu Punkten ersetzt PHP auch die folgenden Zeichen durch Unterstriche:

  • chr(32) ( ) (Leerzeichen)
  • chr(46) (.) (Punkt)
  • chr(91) ([) (offene eckige Klammer)
  • chr(128) - chr(159) (verschiedene)

Das obige ist der detaillierte Inhalt vonWie kann ich die automatische Ersetzung von Punkten in Anforderungs- und Cookie-Namen durch PHP umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage