freakenergy 0 Опубликовано: 15 февраля 2009 Рассказать Опубликовано: 15 февраля 2009 После переезда на другой сервер и заходе на сайт через прокси, не обрабатываются кавычки, т.е. они выводятся вместе с шаблоном, изза чего весь шаблон кривой и не видны картинки, не подключается css и т.п.: \"закрыть\" http://www.сайт.ru/"/templates/russia...tags.gif/" из картинок нормально отображаются только те которые добавлены в новость. Хотя форум после переноса нормально работает (smf) В чем может быть проблема? До переезда все было нормально. Сайт лицензия. Ссылка на сообщение Поделиться на других сайтах
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 6242 Опубликовано: 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 6242 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 Причём выскакивает после применения регулярки =/ если регулярное выражение использует вызов функции то экранирование происходит всегда и независимо от настроек, в этой функции обязательно нужно применять stripslashes Ссылка на сообщение Поделиться на других сайтах
IT-Security 33 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 ёпрст...Спасибо...Не знал =( Ссылка на сообщение Поделиться на других сайтах
celsoft 6242 Опубликовано: 16 февраля 2009 Рассказать Опубликовано: 16 февраля 2009 IT-Security, Все знать невозможно Причина кстати этому является то что функци вызывается не напрямую а в тексте, например "\$this->build_video('\\1')" сначала идет замена \\1 на найденный текст и потом вызов функции и если бы небыло экранирования то произошла бы синтаксическая ошибка. Ссылка на сообщение Поделиться на других сайтах
celsoft 6242 Опубликовано: 18 февраля 2009 Рассказать Опубликовано: 18 февраля 2009 а проблема в том что разработчики принудительно экранируют входные данные, о такой вещи как magic qoutes они, походу либо не знают, либо написать проверку было лень, вот и получается лишний слеш. Ай-ай-ай, стыдно! Разработчики знают обо всем. И все что экранируют приводят в нормальный в и в зависимости от настроек сервера все возвращают в исходное состояние. Вникните сначала в суть вопроса. Проблема не с данными из БД, а со всем что на сайте, с шаблонами в том числе, и где вы увидели экранирование шаблонов при чтении их из файлов. magic_qoutes_gps это для входящих данный типа POST и GET, что шаблоны через форму поступают в скрипт? Ссылка на сообщение Поделиться на других сайтах
Rekrut 0 Опубликовано: 23 февраля 2009 Рассказать Опубликовано: 23 февраля 2009 В БД весь HTML у которого есть " тоже экранируется, что приводит к проблемам при использование модулей. Раньше " не экранировались. Ссылка на сообщение Поделиться на других сайтах
celsoft 6242 Опубликовано: 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 6242 Опубликовано: 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 в БД да и вообще все " экранированы. Да и вообще, по логике вещей все новости должны храниться в БД в одинаковом виде, а не так что часть без экранирования (это дефолтные), а часть с экранированием (это все которые мы добавляем). Так что. Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Архивировано
Эта тема находится в архиве и закрыта для публикации сообщений.