Посторонние символы при посещении не существующих страниц

Главные вкладки

Аватар пользователя Green Chest Green Chest 4 марта 2009 в 23:04

Drupal 6.10. Чистый. Т.е. только что установленный без каких-либо доп. модулей. Установлен русский.

При обращении к несуществующей странице (т.е. ошибка 404) над всем содержимым (перед открывающим тегом , который написан в самом начале page.tpl.php) страницы выводится некое шестнадцатиричное число (4-ёх разрядное), по величине своей оно близко к размеру сгенерированной html-страницы.
(Например, показывает число 5946, что в 10-ричной СС будет 22854, размер page.tpl.php - 26098, а размер сгенрированной html-странички 23328, при уменьшении размера сгенирированной страницы, это число пропорционально уменьшается.)

Пытался разобраться откуда это число взялось.
Выяснил следующее: ни от темы, ни от содержимого tpl-файлов это не зависит. Зависит от размера сгенированной html-страницы. Если больше 8000 байт - есть посторонние символы, если меньше - нет. (проверял - заполнял page.tpl.php одним много раз повторяющимся символом (английской буквой), если размер получившейся html-ки 8000 байт, то нет посторонних символов, если 8001 - то есть и потом уже как не увеличивай размер - они есть. Делал так: в page.tpl.php писал <?echo $content; ?>, а в node.tpl.php заполнял многократно повторяющейся буквой, чтобы размер html-ки был не более, а потом более 8000 байт - убедился что от того как генерируется страничка это не зависит, зависит лишь от размера сгенирированной).

Этих 4-ёх посторонних символов в IE 7 ни прикаких условиях нет, а в Опере 9 и Мозилле 3 - есть при превышении страницей размера 8000 байт - при всех условиях (в смысле чтобы я ни делел - они есть).
Настройки кэширования, сжатия - менял, кэш чистил. Ничего не меняется. Эксперементировал более 6 часов...
Ставил чистый друпал 6.10 и на нём в теме garland проверял.
В настройках друпала прописывал особую страницу для ошибки 404 - ничего не меняется.
На локалке под денвером - ничего подобного не возникает, даже если сгенерированная страница - полмегабайта.

Если я захожу на существующие страницы (т.е. не ловлю ошибку 404) - никаких посторонних цифр нет. Ни в одной из tpl-ек таких цифр нет. Удалял все tpl-ки из темы кроме page.tpl.php, а её используя шестнадцатиричный редактор файлов - заполнял повторяющимся определённым байтом. Если размер был больше 8000 байт - были в начале посторонние символы. (в файле page.tpl.php их точно нет и вывести их там нечему)

Хостиг - Джино (jino.ru). Сменить хостера могу без проблем. Ответ - смени хост, пожалуйста, не говорите.

В чём может быть причина? Откуда могут появиться эти цифры-буквы?

Большое спасибо.

Комментарии

Аватар пользователя kosilko kosilko 5 марта 2009 в 2:47

такая же байда кстати, в онлайн-версии сайта наблюдается. Разбираться увы нету времени, посмотрел на очередную стотыщьпяццотую маленькую какашку, любезно подкинутую друпалом, да и плюнул, до лучших времен так скыть... Ядро 6.7-dev.

Аватар пользователя fairwind fairwind 5 марта 2009 в 7:02

никогда не сталкивался с такой проблемой за 3 года работы с друпалом. Хостинги были петерхост, руцентр, сейчас у gor-а.

Аватар пользователя Ветер Ветер 10 ноября 2015 в 11:46

Кстати, посмотрите в style.css в самом начале.
Вот в теме Analytic в версиях 1.0 - 1.2 в начале css были посторонние символы.
Не знаю связано это с текущей проблемой или нет. Просто заметил.
Архив распоковывал winrarom. При просмотре в winrare, блокноте и wordpade символов не наблюдалось.
При просмотре уже распакованного через Far символы присутствовали.
bag

Подозреваю что это как то связано с архиваторами или их версиями.

Аватар пользователя Dimm Dimm 5 марта 2009 в 20:40

Ветер wrote:
Кстати, посмотрите в style.css в самом начале.
Вот в теме Analytic в версиях 1.0 - 1.2 в начале css были посторонние символы.
Не знаю связано это с текущей проблемой или нет. Просто заметил.
Архив распоковывал winrarom. При просмотре в winrare, блокноте и wordpade символов не наблюдалось.
При просмотре уже распакованного через Far символы присутствовали.
bag

Подозреваю что это как то связано с архиваторами или их версиями.


Эти символы записываются в начало файла при сохранении из notepad+ файла в формате UTF-8.
У меня из-за них были похожие глюки на сайте.
Просто стер их и все прошло.

Аватар пользователя kosilko kosilko 5 марта 2009 в 13:37

"Green Chest" wrote:
kosilko, argon у вас кто хостер для проектов, у которых такая проблема?

mchost.ru

Сейчас проверил.
Случай номер РАЗ:
URL: /ffgывы
Выдало число cbed, калькулятор говорит что это 52205 в десятичной системе. Размер страницы - 52218 байт.

Случай номер ДВА:
URL: /выва
Выдало число cbf3, (т.е 52211). Размер страницы - 52224 байт.

Случай номер ТРИ:
URL: /dfkgjdrjklgsdjkhf893475/dfdf/dfdfdf/dfdf/sdjkvfnsdjkghjksdfhvgsdfjkg
Выдало число cc53, (т.е 52307). Размер страницы - 52320 байт.

Во всех случаях разница между числом и размером страницы 13 байт. Число, кстати, выводится с переносом строки (0D,0A).
Что характерно, я уже не помню что там намутил, но у меня друпал вместо сообщения о ненайденном документе выводит главную страницу.
Хы-хы. Да, и еще. В конце при этом ненавязчиво выводится цыферка НОЛЬ и уже с одним до и двойным переносом строки после (0d,0a, "0" , 0d,0a,0d,0a)

В итоге имеем ровно 13 байт мусора, то есть число вверху страницы - не что иное, как размер, который должен быть у страницы, если бы она выводилась без этого мусора.

P.s. только что выяснил, что размер страницы меняется всвязи с "?destination=урл", который прописывается в form action=... одного из блоков.

Аватар пользователя Green Chest Green Chest 5 марта 2009 в 16:13

kosilko wrote:

Хы-хы. Да, и еще. В конце при этом ненавязчиво выводится цыферка НОЛЬ и уже с одним до и двойным переносом строки после (0d,0a, "0" , 0d,0a,0d,0a)

Ага, у меня тоже самое.

Аватар пользователя Valeratal Valeratal 5 марта 2009 в 13:58

происки внеземных цивилизаций Smile
не иначе

P.S.
А у меня, друпал после переезда из папки ("2") в корень, в собственной странице для ошибок писал "2"

Аватар пользователя EllECTRONC EllECTRONC 5 марта 2009 в 17:20

"Ветер" wrote:
Кстати, посмотрите в style.css в самом начале.
Вот в теме Analytic в версиях 1.0 - 1.2 в начале css были посторонние символы.
Не знаю связано это с текущей проблемой или нет. Просто заметил.

Эти символы есть во многих CSS-файлах и не только в темах друпала. Но не думаю что они генерируют цифры.

2Green Chest, заметила как-то в теме (для WP), в внизу шаблона index (или foter) в закомментированной строчке был вставлен php код для подсчета размера, кол-ва запросов к базе и время их выполнения. Т.к. это все дело было закомментировано, естественно на странице не выводилось, а вот при просмотре html можно было посмотреть всю эту статистику.

Может и у вас что-то подобное в теме?

Аватар пользователя Green Chest Green Chest 6 марта 2009 в 15:53

EllECTRONC wrote:
2Green Chest, заметила как-то в теме (для WP), в внизу шаблона index (или foter) в закомментированной строчке был вставлен php код для подсчета размера, кол-ва запросов к базе и время их выполнения. Т.к. это все дело было закомментировано, естественно на странице не выводилось, а вот при просмотре html можно было посмотреть всю эту статистику.
Может и у вас что-то подобное в теме?

Эксперименты которые я провёл и о которых написал в первом сообщении этой темы исключают то о чём вы говорите.

Никакие ccs-ки не подключаются вообще! Вывод заголовков из темы убран, всё убрано. Файлы сохранены в notepad++ в utf-8 без BOM и просмотрены в шестнадцатиричном редакторе - ни в начале, ни в конце файлов темы нет посторонних символов (тем кто предлагает такой вариант - а почему же они тогда только при посещении не существующей страницы появляются? И почему их не показывает интернет експлорер?).

worona, если у вас сайты на jino.ru, то вы возможно такого не видели, потому что код html-страниц генерируемых при посещении не существующих адресов не превышает у вас 8000 байт.

Аватар пользователя Dan Dan 6 марта 2009 в 18:14

надо эти странички не просматривать, а сохранить на диск и уже там редактором посмотреть. может эти цифры идут до хедера, поэтому IE их не отображает. или ещё какая причина.

Аватар пользователя Green Chest Green Chest 10 марта 2009 в 15:14

"Dan" wrote:
ожет эти цифры идут до хедера, поэтому IE их не отображает

В сгенерированных для IE страниц посторонние символы отстутствуют вообще.

Аватар пользователя Green Chest Green Chest 10 марта 2009 в 20:30

"kosilko" wrote:
может здесь собака порылась?

Я так понял в http-заголовках при не правильном url идёт что-то не так.
Вы дальше свою мысль продумывали? Что можно сделать?

Аватар пользователя kosilko kosilko 11 марта 2009 в 12:18

я так думаю, все дело в chunked и/или его обработке. В RFC написано, что при таком методе передачи контента он рубится на куски, и в начале каждого куска передается число содержащее размер оного куска. Почему во втором случае мы имеем не "chunked", а "chunked, chunked" - я не совсем понимаю. Возможно, таким способом говорится, что кусков два? А второй кусок при этом, во втором случае имеется равным нулю... А возможно, что "chunked, chunked" - это кривовато или экзотично, и не все броузеры это понимают? Или броузеры некорректно обрабатывают пакет нулевой длины... У меня, кстати, и в ИЕ7 тоже самое, что и в FF/opera. Green Chest, у вас на хостинге что стоит в роли сервера?

Аватар пользователя kosilko kosilko 11 марта 2009 в 12:29

а вот ответ 404 от локального сервера, с локальной копией сайта. Слово chunked - один раз.

Date    Wed, 11 Mar 2009 09:25:13 GMT
Server  Apache/2.2.8 (Unix) PHP/5.2.6
X-Powered-By    PHP/5.2.6
Expires Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified   Wed, 11 Mar 2009 09:25:13 GMT
Cache-Control   store, no-cache, must-revalidate, post-check=0, pre-check=0
Keep-Alive      timeout=5, max=100
Connection      Keep-Alive

Transfer-Encoding       chunked
Content-Type    text/html; charset=utf-8
Аватар пользователя Green Chest Green Chest 11 марта 2009 в 15:52

"kosilko" wrote:
Green Chest, у вас на хостинге что стоит в роли сервера?

Информация о хосте:

Операционная система: Linux version 2.6.18-92.1.22.el5
Версия Perl: 5.8.8
Версия PHP: 5.2.6
Версия MySQL: 5.0.67
Путь к Perl: /usr/bin/perl
Путь к PHP: /usr/local/bin/php
Путь к sendmail: /usr/sbin/sendmail
Встроенные модули Apache:
core
mod_authn_file
mod_authn_default
mod_authz_host
mod_authz_groupfile
mod_authz_user
mod_authz_default
mod_auth_basic
mod_include
mod_filter
mod_log_config
mod_logio
mod_env
mod_expires
mod_headers
mod_setenvif
mod_ssl
prefork
http_core
mod_mime
mod_status
mod_autoindex
mod_asis
mod_info
mod_suexec
mod_cgi
mod_negotiation
mod_dir
mod_actions
mod_alias
mod_rewrite
mod_so

На локалке стоит денвер. Т.е. апач под виндой.

Аватар пользователя Sorix Sorix 14 марта 2009 в 20:41

Аналогичная проблема возникла при установке на своем сервере Invision Power Board'а. При этом при попытке включения в нем GZIP-сжатия страницы вообще перестает отображаться, ссылаясь на:

Страница, которую вы пытаетесь просмотреть, не может быть показана, так как она использует неверную или неподдерживаемую форму компрессии.

Предполагал что число как раз и связано с GZIP'ом. На сервере стоит связка nginx + apache, проблема точно не в nginx, apache уже отдает страницу с кривым числом.

После долгих изысканий, смысла которых приводить тут нет проблема решилась добавлением данной строку в конфигурацию Apache:

AddOutputFilterByType DEFLATE text/html text/plain text/xml

Суть моей проблемы была -- неверно или вообще не сконфигурированный mod_deflate, который отвечает как раз за сжатие страницы. В итоге странные числа в начале и в конце страницы у меня пропали.

На shared-хостинга возможно поможет данная строка в .htaccess:

SetOutputFilter DEFLATE

Аватар пользователя Bas Bas 6 апреля 2009 в 18:14

У меня появилась такая же проблема. Появилась она после того, как на сервере перешли на связку apache+nginx. Причем данная проблема возникла только на форуме IPB (вроде). Факт того, что именно после ввода nginx появилась данная проблема понятен, но не понятно, как избавиться.

Аватар пользователя Durak Durak 26 сентября 2009 в 20:52

Та же проблема.
Только не на 404 (page not found) а на 403 (access denied)

Причем стоит довольно большое количество сайтов на одной и той же конфигурации веб-сервера. Проблема проявляется на некоторых из них устойчиво.

В том числе и в IE. Причем у него жутко съезжает форматирование страницы в отличие от прочих браузеров.

Символы с размером данных идут после http заголовка до

mod_deflate отключен

Аватар пользователя Dan Dan 26 сентября 2009 в 23:40

"Durak" wrote:
Проблема проявляется на некоторых из них устойчиво.

С размером страницы связано?

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 14 августа 2010 в 1:33

Проблема в апаче, в частности с кодировкой чего-то там, помоему связано с сжатием. Точнее не могу сказать, то письмо от хостера, где мне подробно объяснили, затерялось. Они (хостеры) просто отключили эту кодировку и всё стало нормально. Всё что могу сказать, я не юникс-администратор к сожалению.

Аватар пользователя kpv_dnepr@drupal.org kpv_dnepr@drupal.org 14 августа 2010 в 15:47

Проблема изменилась, на странице 404 появлялись непонятные символы и пропадали primary links, я связался с хостером, он мне сделал следуещее:

Quote:
На вашем VPS создали конфигурационный файл /etc/httpd/conf.d/deflate.conf следующего содержания:
AddOutputFilterByType DEFLATE text/html text/plain text/xml

После этого посторонние символы в начале страниц 404 на сайтах исчезли.

Все отлично, но primary links так и не вернулись. Что это может быть?

P.S. Это происходит на двух сайтах под управлением друпала, на одном сервере, на этом же сервере стоят и другие сайты на друпале, но там все в порядке!

Аватар пользователя xxandeadxx xxandeadxx 14 августа 2010 в 20:01

"<a href="mailto:kpv_dnepr@drupal.org">kpv_dnepr@drupal.org</a>" wrote:
Все отлично, но primary links так и не вернулись. Что это может быть?

их и там и не было никогда, это стандартное поведение друпала http://drupal.org/project/blocks404