Magic Quotes-Problem: Schrägstrich vor jedem Zitat
Problem:
In einem PHP-Skript , ein Benutzerformular verursacht Probleme. Wenn ein Formular an sich selbst zurückgesendet wird, wird in bestimmte Texteingabefelder vor jedem doppelten Anführungszeichen ein Backslash („“) eingefügt. Beispielsweise wird aus „19“-Rädern“ „19“-Räder“. Bei weiteren Untersuchungen wurde festgestellt, dass dieses Problem dadurch entsteht, dass „magic_quotes“ auf dem Server aktiviert ist. Das Deaktivieren von „magic_quotes“ würde Root-Zugriff erfordern.
Lösung:
Um dieses Problem zu beheben, verwenden Sie den folgenden Codeausschnitt mit „stripslashes“ für den betroffenen Text, insbesondere wenn „magic_quotes“ sind auf dem Server aktiviert:
if(get_magic_quotes_gpc()) { $your_text = stripslashes($your_text); }
Nachdem Sie diesen Code angewendet haben, können Sie Fahren Sie mit der Verarbeitung der Variable „$your_text“ wie gewohnt fort.
Zusätzliche Informationen:
Magische Anführungszeichen sind eine PHP-Konfigurationseinstellung, die automatisch Backslashes vor bestimmten Zeichen, einschließlich Anführungszeichen und, hinzufügt Backslashes. Obwohl sie dazu gedacht waren, SQL-Injection-Angriffe zu verhindern, gelten sie mittlerweile als veraltet und können mehr Sicherheitsprobleme verursachen als sie lösen.
Wenn Ihre Entwicklungsumgebung dies zulässt, wird generell empfohlen, magische Anführungszeichen zu deaktivieren. Dies kann durch die Aktualisierung Ihrer PHP-Konfiguration oder durch die Verwendung des oben bereitgestellten Codeausschnitts erfolgen, um alle zusätzlichen Backslashes zu entfernen, die durch die Einstellung für magische Anführungszeichen hinzugefügt wurden.
Das obige ist der detaillierte Inhalt vonWie kann ich Backslashes beheben, die vor Anführungszeichen in meinen PHP-Formulardaten erscheinen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!