Mysql меняет мои HTML-теги, делая их бесполезными - PullRequest
0 голосов
/ 30 октября 2011

Я импортирую данные в базу данных в текстовое поле. Однако, когда я пытаюсь ввести

<strong> Hi There </strong>

Я нахожу это в таблице (используя php myadmin) как

"&lt;strong&gt; Hi There &lt;/strong&gt;" 

Это отображает его на моей передней странице как

<strong> Hi There </strong>

Очевидно, что не желаемый результат.

Есть идеи здесь? Я использую обычную текстовую форму.

Ответы [ 3 ]

1 голос
/ 30 октября 2011

Да.Здесь происходит простое кодирование, чтобы сохраненная форма была в безопасности.Прежде чем отобразить его на веб-странице, передайте его через встроенную в PHP html_entity_decode ().

Обратите внимание, что если этого не произойдет, кому-то будет очень легко ввести собственный HTML-код в поле, которое не должноне иметь HTML (например, имя пользователя), и они могут изменить ваш сайт.

1 голос
/ 30 октября 2011

Когда вы вводите данные, они, вероятно, очищаются - вероятно, с помощью htmlspecialchars() или htmlentities()

Чтобы декодировать теги, используйте html_entity_decode()

http://php.net/manual/en/function.html-entity-decode.php

0 голосов
/ 30 октября 2011

При обработке различных пользовательских вводов, которые хранятся в базе данных или отображаются обратно в вашем контенте, вы всегда должны быть осведомлены о xss-атаках. Лучше в безопасности, чем потом извиниться ...

Usernames: Проверьте минимальную и максимальную длину, не выходите за пределы диапазона ASCII и строго не используйте html или специальные символы, такие как <>;'"% и пробелы в начале и конце. При выводе в форму всегда используйте htmlspecialchars().

Пароли Проверь чек на минимальную и максимальную длину, сделай безопаснее, взяв в аренду 1 капитолий и один альфа-символ. Всегда шифруйте при сохранении в базу данных и не используйте md5. При выводе в форму всегда используйте htmlspecialchars(), если не используется атрибут type="password".

Электронная почта: Убедитесь, что это действительный адрес электронной почты.

Основные комментарии, посты Сфера представления: Уберите все javascript, html и / или разрешите пользователю вставлять BBcode при необходимости для изображений, ссылок, форматирования, а затем конвертируйте BBcode в действительный html при отображении.

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