Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man unerwartete Schrägstriche in Formularübermittlungen mit den Magic Quotes von PHP beheben?

Wie kann man unerwartete Schrägstriche in Formularübermittlungen mit den Magic Quotes von PHP beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-10-21 09:23:02448Durchsuche

How to Resolve Unexpected Slashes in Form Submissions with PHP's Magic Quotes?

Behandlung des „Slash Before Every Quote“-Problems mit Magic Quotes in PHP

Sie stoßen auf ein Problem, bei dem Ihr PHP-Formular ein voranstellt „“-Zeichen vor jedem doppelten Anführungszeichen bei der Übermittlung. Dies liegt wahrscheinlich daran, dass die Funktion „Magic Quotes“ auf Ihrem Server aktiviert ist.

Magic Quotes maskiert bestimmte Zeichen, einschließlich doppelter Anführungszeichen, in Formularübermittlungen und anderen Eingabedaten automatisch. Obwohl diese Funktion dazu gedacht war, SQL-Injection-Angriffe zu verhindern, kann sie Probleme mit der Datenintegrität verursachen und gilt allgemein als veraltet.

Um dieses Problem zu beheben, können Sie die Funktion „stripslashes()“ verwenden, um die unerwünschten Schrägstriche vor der Verarbeitung zu entfernen der Text. Fügen Sie die folgende Bedingung mithilfe von stripeslashes() zu Ihrem Code hinzu:

<code class="php">if (get_magic_quotes_gpc()) {
    $your_text = stripslashes($your_text);
}</code>

Nach der Verarbeitung des Texts mit stripeslashes() können Sie die resultierende Variable $your_text normal verwenden und sie enthält keine unerwarteten Schrägstriche.

Bezüglich der Deaktivierung von Magic Quotes:

Wie Sie bereits erwähnt haben, haben Sie Root-Zugriff auf Ihren Server. Für das Schreiben von gut strukturiertem und sicherem Code wird im Allgemeinen die Deaktivierung magischer Anführungszeichen empfohlen. Zu den Gründen für die Deaktivierung gehören:

  • Es kann Code beschädigen, der auf bestimmten Zeichen-Escapezeichen basiert.
  • Es kann Datenvalidierungs- und Bereinigungsprozesse beeinträchtigen.
  • Moderne Datenbank Treiber und Frameworks bieten einen wirksameren Schutz gegen SQL-Injection.

Um magische Anführungszeichen zu deaktivieren, bearbeiten Sie die php.ini-Datei Ihres Servers und setzen Sie die Direktive magic_quotes_gpc auf Aus. Sobald die Änderung vorgenommen wurde, starten Sie Ihren Webserver neu, damit die Änderungen wirksam werden.

Denken Sie daran, Ihre Anwendung nach der Deaktivierung von Magic Quotes gründlich zu testen, um sicherzustellen, dass sie sich immer noch wie erwartet verhält.

Das obige ist der detaillierte Inhalt vonWie kann man unerwartete Schrägstriche in Formularübermittlungen mit den Magic Quotes von PHP beheben?. 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