В определенных обстоятельствах веб-страницы PHP могут столкнуться с проблемой, когда отправка данных формы приводит к добавлению обратная косая черта перед каждой двойной кавычкой. Эта проблема возникает из-за функции конфигурации сервера, известной как магические кавычки.
Когда магические кавычки включены, PHP автоматически экранирует определенные символы, включая двойные кавычки, при их отправке или получении из базы данных или отправке форм. Хотя это может предотвратить атаки SQL-инъекций за счет исключения вредоносных кавычек, это также может помешать нормальной обработке форм.
Решение проблемы
Чтобы решить проблему, вы можете использовать функция Stripslashes() для удаления автоматически добавленных обратных косых черт перед сохранением данных формы в базе данных или отображением их на странице. Вот пример:
if (get_magic_quotes_gpc()) {
$input = stripslashes($input);
}
Этот условный оператор проверяет, включены ли магические кавычки, и, если да, удаляет обратную косую черту из переменной $input с помощью Stripslashes(). Это позволит вам нормально обрабатывать данные формы без каких-либо дополнительных модификаций.
Объяснение магических кавычек
Магические кавычки являются устаревшей функцией и в современном PHP должны считаться небезопасными. разработка. Они были представлены в PHP 4 и удалены в PHP 7.0.0, поскольку они создавали различные проблемы безопасности и совместимости кода.
Обычно рекомендуется отключать магические кавычки, поскольку это обеспечивает более прозрачную и безопасную практику кодирования. Вы можете отключить магические кавычки, изменив файл конфигурации PHP и установив для Magic_quotes_gpc значение Off.
Понимая функцию магических кавычек и используя Stripslashes() для решения этой проблемы «косой черты перед каждой кавычкой», вы можете эффективно справиться с этой проблемой. формировать данные в PHP и обеспечивать их предполагаемую функциональность, даже если включены волшебные кавычки.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3