#1 2011.04.16 13:11

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

(ок) Двойная обработка htmlspecialchars

Привет. Грубо говоря написал (вернее готовое взял) шаблонизатор. Есть функция обработки спецсимволов. Добавляя переменные на выходе имеем &quote; вместо кавычки. Что не так?

Код:

1
span style="color: #0000BB"><?php // Замена на HTML сущности private function xss($var) { if (is_array($var)) { $protected = array(); foreach ($var AS $key=>$value) $protected[$key] = $this->xss($value); return $protected; } return htmlspecialchars($var); }// Переждаем параметры// true включает экранизацию$view->show('template', array('title' => 'Привет, "мир"!'), true);?>

ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#2 2011.04.16 13:16

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: (ок) Двойная обработка htmlspecialchars

Код:

1
span style="color: #0000BB"><?php // Замена на HTML сущности private function xss($var) { if (is_array($var)) { $protected = array(); foreach ($var AS $key=>$value) $protected[$key] = $this->xss($value); return $protected; } else //так пробовал? { return htmlspecialchars($var); } }// Переждаем параметры// true включает экранизацию$view->assign('template', array('title' => 'Привет, "мир"!'), true);?>

Отредактировано tipsun (2011.04.16 13:20)

Неактивен

#3 2011.04.16 13:22

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

Тут как бы неважно else. Блок условия останавливается после return


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#4 2011.04.16 13:23

tipsun
Moderator
Зарегистрирован: 2009.10.14
Сообщений: 2277
Карма: 19
Профиль

Re: (ок) Двойная обработка htmlspecialchars

А точно, там return в первом же.

Неактивен

#5 2011.04.16 13:23

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

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


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#6 2011.04.16 13:27

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

дело не тут. очевидно же, что htmlspecialchars вызывается 1 раз. где-то он вызывается повторно.

Неактивен

#7 2011.04.16 13:30

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

Один assign в файле php.
Второй и Третий в шаблоне.
И функция обрабатывает уже весь этот результат, а не как я задаю true/false:( А хотел, чтобы некоторые данные были "как есть".


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#8 2011.04.16 13:33

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

нафига в assign???? убери оттуда обработку. это задача шаблона. данные можно отдавать не только в html, так что внутри модели они должны быть в оригинальном виде.

Неактивен

#9 2011.04.16 13:37

НЕЗНАЙКА
Участник
Откуда: Россия
Зарегистрирован: 2008.11.24
Сообщений: 313
Карма: 11
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

"Обрабатывать нужно в шаблоне" я так понял?
Но это ее для каждой переменной пропиывать нечто echo htmlspecialchars($title)
Или же просто убрать обработку из assign и оставить... Бл@ Точно! В show как бы дубль assign, чтобы сразу переменные в шаблон послать. И там стоит true


ДАУН-Данная Аватара Унаследована Незнайкой

Неактивен

#10 2011.04.16 13:42

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: (ок) Двойная обработка htmlspecialchars

ну смотря как шаблонизатор организован.
в smarty это escape http://www.smarty.net/docsv2/en/languag … escape.tpl

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.011 s