Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich verhindern, dass PHP in GET-, POST- und COOKIE-Variablennamen Punkte durch Unterstriche ersetzt?

Wie kann ich verhindern, dass PHP in GET-, POST- und COOKIE-Variablennamen Punkte durch Unterstriche ersetzt?

Mary-Kate Olsen
Freigeben: 2024-12-11 01:59:09
Original
836 Leute haben es durchsucht

How Can I Prevent PHP from Replacing Dots with Underscores in GET, POST, and COOKIE Variable Names?

PHP: Zeichenersetzung in GET-, POST- und COOKIE-Namen verhindern

PHP ersetzt Punkte in eingehenden Variablennamen automatisch durch Unterstriche. Dieses Verhalten kann in manchen Fällen unerwünscht sein. Wie können wir es deaktivieren?

Warum PHP Punkte ersetzt

Laut PHP.net sind Punkte keine gültigen Zeichen in Variablennamen. Der Parser würde „varname.ext“ als Variable mit dem Namen „varname“ interpretieren, gefolgt vom Verkettungsoperator und der Zeichenfolge „ext“, was nicht das beabsichtigte Ergebnis ist.

Alternativen

Trotz Versuchen, dieses Verhalten zu verhindern, macht der Parsing-Mechanismus von PHP dies erforderlich. Es gibt jedoch Möglichkeiten, dies zu umgehen:

  • POST-Variablen: Verwenden Sie str_replace, um Unterstriche durch Punkte zu ersetzen, bevor Sie auf POST-Variablen zugreifen:
$_POST['x.y'] = str_replace('_', '.', $_POST['x_y']);
Nach dem Login kopieren
  • GET- und COOKIE-Variablen: Verwenden Sie ein globales Variablenersetzungsmuster in Ihrem .htaccess-Datei, um Unterstriche durch Punkte zu ersetzen, bevor PHP die Anfrage analysiert:
RewriteEngine On
RewriteRule .* - [E=DOT:_]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich verhindern, dass PHP in GET-, POST- und COOKIE-Variablennamen Punkte durch Unterstriche ersetzt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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