[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вывод пользовательского контента
Страницы: 1, 2
N0ob
Вообщем у меня имеется текстовое поле(див с contenteditable=true). Там пишется классические сообщения и вставляются смайлики прямым html кодом(<img src="smie.gif">). Далее сообщение идет в базу, но обрабатывается функцией mysql_real_escape_string() и тем самым экранирует кавычки. При выводе сообщения соответственно смайлик не отображается а выводится html код с экранированными кавычками. Как мне быть? mysql_real_scape_string() не уберешь. т.к. будет уязвимость а если оставить то смайлики не будут отображатся


 ! 

М
последние предупреждение за невменяемое название, далее будет длительный бан
Invis1ble
Valick
1) Научитесь наконец давать вменяемые названия своим темам.
2)
Цитата (N0ob @ 26.06.2015 - 16:42)
выводится html код с экранированными кавычками

как именно выводиться текст?

echo htmlspecialchars($text);

так?

_____________
Стимулятор ~yoomoney - 41001303250491
Invis1ble
либо использовать свой язык разметки (как на этом форуме, к примеру)
либо фильтровать перед выводом согласно "белым" спискам и выводить неэкранированный html

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

N0ob
Valick например вот содержимое DIV`a:
Цитата
Hello <img src="hello.gif" class="smile">

После обработки этого текста функцией mysql_real_escape_string, текст будет таков:
Цитата
Hello <img src=\"hello.gif\" class=\"smile\">

То есть картинка смайлика уже не отобразиться, а отобразится html код. Мне нужно как то занести из сообщения путь к картинке в БД и при выборке сообщения этот путь к картинке получить. И решил использовать полностью html код картинки с src, но происходит вот такая крякозябла с этой функцией. Думал юзать ББ коды, думаю вот если не найду выхода их положения, то придется их юзать
Цитата
либо фильтровать перед выводом согласно "белым" спискам и выводить неэкранированный html

Можно об этом немного поподробнее?
Invis1ble
Цитата (N0ob @ 26.06.2015 - 18:53)
Можно об этом немного поподробнее?
Valick
Цитата (N0ob @ 26.06.2015 - 18:53)
После обработки этого текста функцией mysql_real_escape_string, текст будет таков:
Цитата
Hello <img src=\"hello.gif\" class=\"smile\">


а после извлечения из БД будет таков:
Цитата
Hello <img src="hello.gif" class="smile">


Я так понимаю ты решил себе трахнуть мозг, до того как что-то написать в нотпаде?

_____________
Стимулятор ~yoomoney - 41001303250491
inpost
N0ob
Раньше редакторы держали отдельно INPUT с бб-кодами и кодами смайлов. А уже при выводе заменялись на картинки, таким образом всё было профильтровано.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
N0ob
Valick ты перековеркал мое сообщение, и сказал что садомазомозгоеб?)
inpost да вот думаю так и придется делать
Valick
N0ob, ты вообще читаешь, что я пишу или как?
Я тебе русским языком написал, что перед помещением в БД кавычки экранируются, но в БД уже лежит неэкранированный текст. И извлекается он из БД тоже без всяких экранирующих слэшей.


_____________
Стимулятор ~yoomoney - 41001303250491
N0ob
А вот и нет
user posted image
Valick
451 не экранирован

_____________
Стимулятор ~yoomoney - 41001303250491
sergeiss
N0ob, покажи код, которым ты заносишь данные в БД. Возможно, что ты дважды экранируешь (или всегда, или при каких-то условиях). Давай вместе смотреть, что и как у тебя делается.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Michael
магические кавычки может включены...

Цитата
либо фильтровать перед выводом

htmlpurifier - не быстрая штука.

_____________
There never was a struggle in the soul of a good man that was not hard
Invis1ble
Цитата (Michael @ 29.06.2015 - 10:53)
htmlpurifier - не быстрая штука.

конечно небыстрая, а есть быстрее и сравнимое по качеству?

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Michael
ну не каждый же раз при выводе гонять, а сохранять готовый html в базе

_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.