![]() | ![]() |
Если данные загружаешь в базу, то опасные (управляющие для базы) символы нужно прослэшивать.
Лучше всего с этим справляется mysql_real_escape_string()
А вот уже при выводе в браузер, можно обрабатывать HTML символы и прочую хуйню.
![]() | ![]() |
Ну допустим если написать такой текст echo 'text'; то htmlspecialchars() не даст записать в базу
.gif)
Я например предпочитаю htmlentities() с параметром ENT_QUOTES и UTF-8
![]() | ![]() |
![]() | ![]() ![]() |
.gif)
![]() | ![]() ![]() |
я вообще не пользуюсь не mysql_real_escape_string() не htmlspecialchars() не пользуюсь! я написал свою функцию замены символов, на html теги
.gif)
Не следует изобретать велосипед, если он уже изобретен и выполняет свои функции.
Встроенные функции в большинстве случаев намного быстрее.
![]() | ![]() |

Изм. Kolyan (20.10.2009 / 16:34) [1]
![]() | ![]() ![]() |
.gif)
![]() | ![]() |
![]() | ![]() ![]() |
![]() | ![]() |
![]() | ![]() ![]() |
.gif)
![]() | ![]() |
![]() | ![]() |
![]() | ![]() ![]() |
Библиотека в нашем двиге ЗАЕБАЛА ошибками XHTML на некоторых текстах.
При анализе ситуации, я понял, что все дело в фильтрации на входе, когда тэги (если есть в тексте) преобразуются в сущности.
Затем при выводе и разбивке по страницам (резка строки по длине), эта самая сущность тэга может порезаться посередине. И при выводе в браузер получаем хуйню.
В последней версии библиотеки, применено хранение данных в чистом виде (см. выше), при чтении статьи, сначала идет резка по страницам, а уж перед самым выводом в браузер, делается преобразование тегов и спецсимволов в их сущности и проводится дополнительная фильтрация.
Работает как часы, про ошибки XHTML можно забыть

![]() | ![]() ![]() |
1) Данные, которые уже попали в MySQL при хранении безопасны (если их не трогать руками гг)
2) Нам нужно обезопаситься при добавлении данных. Для этого приводим полученные данные к нужному виду (числа - intval(), и др...), а строковые данные прослэшиваем с помощью mysql_real_escape_string()
3) Соответственно, данные у нас хранятся В ТОМ ВИДЕ, как получены (а это хорошо).
4) А уже при выводе данных из базы, мы их и будем обрабатывать нужным нам образом.
![]() | ![]() ![]() |
![]() | ![]() ![]() |
Энштейна как то спросили, как делаются гениальные открытия?
Он ответил:
Есть задача, про которую ВСЕ знают, что ее нельзя решить.
И вдруг находится болван, который этого не знает, садится за задачу, решает ее и таким образом делает открытие! гг
![]() | ![]() |
![]() | ![]() |
![]() | ![]() |