Экранированные символы в строке из отправленной формы - PullRequest
0 голосов
/ 14 марта 2012

Каждый раз, когда производится POST, я получаю экранированные символы.

\ -> \\
' -> \'
" -> \"

У меня есть многошаговая форма, которая передает данные из одной формы в другую. Я сохраняю значения с подготовленными отчетами в базе данных. Значения в базе данных в настоящее время выглядят как Paul\'s House. Пользователь должен иметь возможность использовать одинарные и двойные кавычки в своей строке.

Это простой пример, демонстрирующий экранирующий эффект:

<?php
echo $_POST['value'];
?>
<form action="form.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="value" value="Paul's House">
    <input type="submit" value="Next">
</form>

Почему или кто избегает строки? Как правильно обрабатывать данные в нескольких формах? Как правильно сохранить его в базе данных? Должен ли я использовать stripslashes() или я открываю большую дыру в безопасности?

Ответы [ 2 ]

2 голосов
/ 14 марта 2012

Похоже, у вас включены магические кавычки.

http://www.php.net/manual/en/security.magicquotes.disabling.php

Проверьте, как отключить.

0 голосов
/ 14 марта 2012

Вы должны отключить магические кавычки на сервере, в противном случае вам следует очень внимательно следить за состоянием включения / выключения магических кавычек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...