@sowich

Title вверху страницы. Как?

Ребят, почему то Yii «лепит» все скрипты и мета-теги, что я задаю ДО этого тега. Мне нужно после. В чем профит решения фреймворка и как это обойти? На форуме читал как можно это обойти, неужели нет какого-то более элегантного решения?
  • Вопрос задан
  • 4565 просмотров
Пригласить эксперта
Ответы на вопрос 5
kotomyava
@kotomyava
Системный администратор
Встречный вопрос — а чем это вам мешает?
Ответ написан
Комментировать
@sowich Автор вопроса
Обычно всегда он был выше мета тегов + клиент придрался.
Ответ написан
@eresik
Сделать свой класс MyClientScript (отнаследоваться от CClientScript).
Переопределить метод renderHead.
А именно — заменить используемую там регулярку preg_replace('/(<title\b[^>]*>|<\\/head\s*>)/is','<###head###>$1',$output,1,$count); на такую чтоб вставляла скрипты куда вам надо

Ну или напрямую изменить в коде фреймворка эту регулярку.
Ответ написан
Комментировать
sefus
@sefus
В чем профит спрашиваете?
Современные браузеры пытаются определить кодировку страницы на ходу и интерпретируют html в соответствии с этой кодировкой. В случае, если тег расположен до тега и заполняется пользовательскими данными, хакер может вставить злонамеренный html-код в кодировке UTF-7, обойдя таким образом фильтрацию таких символов, как < и ".[7][8]
ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D1%81%D0%B0%D0%B9%D1%82%D0%BE%D0%B2%D1%8B%D0%B9_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B8%D0%BD%D0%B3
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы