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['x.y'] = str_replace('_', '.', $_POST['x_y']);
RewriteEngine On RewriteRule .* - [E=DOT:_]
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!