Unter bestimmten Umständen kann bei PHP-Webseiten ein Problem auftreten, bei dem die Übermittlung von Formulardaten zum Hinzufügen eines führt Backslash vor jedem doppelten Anführungszeichen. Dieses Problem entsteht aufgrund einer Serverkonfigurationsfunktion, die als magische Anführungszeichen bekannt ist.
Wenn magische Anführungszeichen aktiviert sind, maskiert PHP automatisch bestimmte Zeichen, einschließlich doppelter Anführungszeichen, wenn sie an die Datenbank oder Formularübermittlungen gesendet oder von dieser empfangen werden. Dies kann zwar SQL-Injection-Angriffe verhindern, indem bösartige Anführungszeichen umgangen werden, kann aber auch die normale Formularverarbeitung beeinträchtigen.
Problem lösen
Um das Problem zu beheben, können Sie Folgendes verwenden: die Funktion „stripslashes()“, um die automatisch hinzugefügten Backslashes zu entfernen, bevor die Formulardaten in der Datenbank gespeichert oder auf der Seite angezeigt werden. Hier ist ein Beispiel:
if (get_magic_quotes_gpc()) {
$input = stripslashes($input);
}
Diese bedingte Anweisung prüft, ob magische Anführungszeichen aktiviert sind und entfernt, wenn ja, die Backslashes aus der $input-Variablen mithilfe von stripeslashes(). Dadurch können Sie die Formulardaten ohne zusätzliche Änderungen normal verarbeiten.
Erklärung zu Magic Quotes
Magic Quotes sind eine veraltete Funktion und sollten in modernem PHP als unsicher angesehen werden Entwicklung. Sie wurden in PHP 4 eingeführt und in PHP 7.0.0 entfernt, da sie verschiedene Sicherheits- und Codekompatibilitätsprobleme mit sich brachten.
Das Deaktivieren von magischen Anführungszeichen wird allgemein empfohlen, da es transparentere und sicherere Codierungspraktiken ermöglicht. Sie können magische Anführungszeichen deaktivieren, indem Sie Ihre PHP-Konfigurationsdatei ändern und magic_quotes_gpc auf Aus setzen.
Wenn Sie die Funktion von magischen Anführungszeichen verstehen und Stripslashes() verwenden, um dieses Problem „Schrägstrich vor jedem Anführungszeichen“ zu lösen, können Sie es effektiv lösen Formulardaten in PHP und stellen die beabsichtigte Funktionalität sicher, auch wenn magische Anführungszeichen aktiviert sind.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3