freakenergy 0 Опубликовано: 15 февраля 2009 Рассказать Опубликовано: 15 февраля 2009 (изменено) После переезда на другой сервер и заходе на сайт через прокси, не обрабатываются кавычки, т.е. они выводятся вместе с шаблоном, изза чего весь шаблон кривой и не видны картинки, не подключается css и т.п.: \"закрыть\" http://www.сайт.ru/"/templates/russia...tags.gif/" из картинок нормально отображаются только те которые добавлены в новость. Хотя форум после переноса нормально работает (smf) В чем может быть проблема? До переезда все было нормально. Сайт лицензия. Изменено 15 февраля 2009 пользователем freakenergy Цитата Ссылка на сообщение Поделиться на других сайтах
freakenergy 0 Опубликовано: 15 февраля 2009 Рассказать Опубликовано: 15 февраля 2009 Автор Вот проблема более точно: При запуске движка DLE на apache22+mod_php(5.2.8) по всему выводимому контенту были экранированы двойные кавычки. В результате чего сайт становился полностью нерабочим из-за некоррктного синтаксиса html Частично могло помочь, есди в gzip.php добавить $Contents = str_replace('\"','"',$Contents); но тоже это не решало всех проблем, поскольку в ряде случаев по сайту всё-таки экранирование было необходимо. Как только отключили mod_php и запустили сайт из под php-cgi - всё сразу нормализовалось. php.ini и версия php в обоих случаях одинаковая Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 15 февраля 2009 Рассказать Опубликовано: 15 февраля 2009 Открыть index.php и найти: echo $tpl->result['main']; Заменить на: echo stripslashes($tpl->result['main']); Столкнулся с подобной проблемой у себя в движке и пока решения не нашёл... Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 Хотелось бы выслушать мнение Владимира...На локали также PHP 5.2.8 (Linux) и такая проблема. Видимо это из-за Magic Quotes, но стоит @set_magic_quotes_runtime(0); Однако толку от этого нуль...Есть идеи, Владимир?Баг php 5.2.8? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 на dle-news.ru стоит 5.2.8 и нет никаких проблем стоит при этом как mod_php. Откуда беруться кавычки в шаблоне мне если честно непонятно, это же не данные POST или GET проверьте такие настроки как: magic_qoutes_gps magic_qoutes_runtime magic_qoutes_sybase Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 Владимир, у меня та же фигня не на DLE =/ Причём выскакивает после применения регулярки =/ Если интересно - могу в ПМ скинуть код, который вызывает кавычки... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 Причём выскакивает после применения регулярки =/ если регулярное выражение использует вызов функции то экранирование происходит всегда и независимо от настроек, в этой функции обязательно нужно применять stripslashes Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 ёпрст...Спасибо...Не знал =( Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 IT-Security, Все знать невозможно Причина кстати этому является то что функци вызывается не напрямую а в тексте, например "\$this->build_video('\\1')" сначала идет замена \\1 на найденный текст и потом вызов функции и если бы небыло экранирования то произошла бы синтаксическая ошибка. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 18 февраля 2009 Рассказать Опубликовано: 18 февраля 2009 а проблема в том что разработчики принудительно экранируют входные данные, о такой вещи как magic qoutes они, походу либо не знают, либо написать проверку было лень, вот и получается лишний слеш. Ай-ай-ай, стыдно! Разработчики знают обо всем. И все что экранируют приводят в нормальный в и в зависимости от настроек сервера все возвращают в исходное состояние. Вникните сначала в суть вопроса. Проблема не с данными из БД, а со всем что на сайте, с шаблонами в том числе, и где вы увидели экранирование шаблонов при чтении их из файлов. magic_qoutes_gps это для входящих данный типа POST и GET, что шаблоны через форму поступают в скрипт? Цитата Ссылка на сообщение Поделиться на других сайтах
Rekrut 0 Опубликовано: 23 февраля 2009 Рассказать Опубликовано: 23 февраля 2009 В БД весь HTML у которого есть " тоже экранируется, что приводит к проблемам при использование модулей. Раньше " не экранировались. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 24 февраля 2009 Рассказать Опубликовано: 24 февраля 2009 В БД весь HTML у которого есть " тоже экранируется, что приводит к проблемам при использование модулей. Раньше " не экранировались. БД всегда эканировалась, если бы этого небыло давно бы сайты взломали. Тут уже проблема самих сторонних модулей, которые не снимают экранирование. Цитата Ссылка на сообщение Поделиться на других сайтах
Rekrut 0 Опубликовано: 24 февраля 2009 Рассказать Опубликовано: 24 февраля 2009 БД всегда эканировалась, если бы этого небыло давно бы сайты взломали. Тут уже проблема самих сторонних модулей, которые не снимают экранирование. Ага в БД все " экранируется , а это что тогда такое: <div align="center"><img src="http://data/uploads/boxsmall.jpg" style="border: none;" /></div>Добро пожаловать на демонстрационную страницу движка а это код отрывка дефолтной новости - без экранирования заметьте. вот это код новости из базы с версии 7.3: <img src="http://data5/uploads/toras.jpg" border="0" alt="alt" />В прошлом сезоне вернувшееся в суперлигу Торпедо» заняло о чудо и он опять без экранирования а вот здесь уже код новости добавленной через WYSIWYG (версия 7.5) <img src=\"http://data5/uploads/posts/2009-02/1235234879_motivatsia20.jpg\" border=\"0\" alt=\"alt\" align=\"left\" /><br /><br /><br />В прошлом сезоне вернувшееся в суперлигу все экранировано; если эту же новость сохранить через BB, то она сохраниться без экранирования. Вот такие пироги. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 24 февраля 2009 Рассказать Опубликовано: 24 февраля 2009 Rekrut, Мне нечего вам сказать, вы понятие не имеете что такое экранирование и где оно применяется. Откройте install.php и посмотрите как добавляются новости при добавлении и есть ли там экранирование или нет. Цитата Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 25 февраля 2009 Рассказать Опубликовано: 25 февраля 2009 =) $db->safesql = mysql_real_escape_string =) Цитата Ссылка на сообщение Поделиться на других сайтах
Rekrut 0 Опубликовано: 25 февраля 2009 Рассказать Опубликовано: 25 февраля 2009 Ну я вегда считал что экранирование это так: \"....\" т.е. экранирование " HTML-ля чтоб PHP не выдавал ошибок. А ошибка в движке есть, так как раньше все новости в БД были с тем HTML-ле, который ты создаешь в новости и не каких \ не добавлялось. А теперь весь HTML в БД да и вообще все " экранированы. Да и вообще, по логике вещей все новости должны храниться в БД в одинаковом виде, а не так что часть без экранирования (это дефолтные), а часть с экранированием (это все которые мы добавляем). Так что. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.