Вообщем у меня имеется текстовое поле(див с contenteditable=true). Там пишется классические сообщения и вставляются смайлики прямым html кодом(<img src="smie.gif">). Далее сообщение идет в базу, но обрабатывается функцией mysql_real_escape_string() и тем самым экранирует кавычки. При выводе сообщения соответственно смайлик не отображается а выводится html код с экранированными кавычками. Как мне быть? mysql_real_scape_string() не уберешь. т.к. будет уязвимость а если оставить то смайлики не будут отображатся
! |
|
М |
| последние предупреждение за невменяемое название, далее будет длительный бан |
Invis1ble |
Valick
26.06.2015 - 17:47
1) Научитесь наконец давать вменяемые названия своим темам.
2)
Цитата (N0ob @ 26.06.2015 - 16:42) |
выводится html код с экранированными кавычками |
как именно выводиться текст?
echo htmlspecialchars($text);
так?
_____________
Стимулятор ~yoomoney - 41001303250491
Invis1ble
26.06.2015 - 18:04
либо использовать свой язык разметки (как на этом форуме, к примеру)
либо фильтровать перед выводом согласно "белым" спискам и выводить неэкранированный html
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
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
26.06.2015 - 20:16
Цитата (N0ob @ 26.06.2015 - 18:53) |
Можно об этом немного поподробнее? |
Valick
26.06.2015 - 20:26
Цитата (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
26.06.2015 - 20:34
N0obРаньше редакторы держали отдельно INPUT с бб-кодами и кодами смайлов. А уже при выводе заменялись на картинки, таким образом всё было профильтровано.
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Valick ты перековеркал мое сообщение, и сказал что садомазомозгоеб?)
inpost да вот думаю так и придется делать
Valick
28.06.2015 - 19:30
N0ob, ты вообще читаешь, что я пишу или как?
Я тебе русским языком написал, что перед помещением в БД кавычки экранируются, но в БД уже лежит неэкранированный текст. И извлекается он из БД тоже без всяких экранирующих слэшей.
_____________
Стимулятор ~yoomoney - 41001303250491
А вот и нет
Valick
29.06.2015 - 00:22
sergeiss
29.06.2015 - 00:41
N0ob, покажи код, которым ты заносишь данные в БД. Возможно, что ты дважды экранируешь (или всегда, или при каких-то условиях). Давай вместе смотреть, что и как у тебя делается.
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Michael
29.06.2015 - 11:53
магические кавычки может включены...
Цитата |
либо фильтровать перед выводом |
htmlpurifier - не быстрая штука.
_____________
There never was a struggle in the soul of a good man that was not hard
Invis1ble
29.06.2015 - 11:56
Цитата (Michael @ 29.06.2015 - 10:53) |
htmlpurifier - не быстрая штука. |
конечно небыстрая, а есть быстрее и сравнимое по качеству?
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
Michael
29.06.2015 - 15:31
ну не каждый же раз при выводе гонять, а сохранять готовый html в базе
_____________
There never was a struggle in the soul of a good man that was not hard
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.