diafan.CMS

iq2003
На сайте с 31.03.2005
Offline
230
#101

diafan, Спасибо за подробные ответы! ;) Движок нравится всё больше и больше, хорошо что я на эту тему наткнулся :) Щас ещё немного поизучаю и надеюсь вскоре успешно перенесу свой сайтик на diafan! :)

D
На сайте с 09.06.2006
Offline
165
#102
nostromo:
Смысл в том, что при разрыве сессии визуально вроде бы все происходит нормально, но если вернуться на посещенную страницу, появляется сообщение в форме регистрации, что пользователь вошел в систему с таким-то логином и паролем, т.е., как будто сессия и не прерывалась вовсе.
Jaf4:
Нажми [CTRL]+[F5] - возможно у тебя страничка показывается из кэша.

Это однозначно кеширование. Причем серверное. Эта проблема наблюдается где-то в 10 процентах случаев, на некоторых хостингах.

Именно так и проявляется, с пользовательской авторизацией и с корзиной товаров, где используются сессии. Если авторизоваться или набросать в корзину товаров гуляя по сайту, а потом разлогиниться и очистить корзину - сессии удаляются. Но если зайти на предыдущие страницы, можно видеть страницу, где якобы в корзине лежит товар... Ну или показываются данные авторизации пользователя. Это происходит только с посещенными страницами - при заходе на новые страницы вся информация об авторизации или корзине верная.

Если такая ситуация наблюдается, то нажатие Ctrl+F5 ситуацию исправляет. Причем, обычное обновление, браузерное, F5 не помогает. Только ctrl+F5, кэширование чисто серверное. Пока мы эту проблему обнаружили у Агавы и у hc.ru. Хостинги всячески открещиваются от всех видов серверного кеширования, но проблема остается...

Караван, isp, мастерхост, валуехост, джино, HT-systems, mtw, nic, рбк и пр.пр.пр. всё нормально.

nostromo, вы на каком хостинге наблюдали проблему?

Кстати, кто-нибудь может обладает информацией, как бороться? no-cache и прочие фокусы для браузера не помогают. Может есть какой отключаемый параметр на хостинге?

DIAFAN.CMS (http://www.diafan.ru/), система управления сайтами.
Jaf4
На сайте с 03.08.2009
Offline
804
#103
diafan:
Хостинги всячески открещиваются от всех видов серверного кеширования, но проблема остается...

Возможно кэширует провайдер. У меня несколько хостов у разных компаний и 2 провайдера. Так вот с одним (корбина) иногда бывают приколы. С другим (акадо) я такого не замечал. Компьютер и браузеры на котором работаю - один.

ЗЫ еще сложней бывает "пробить" кэш DNS.. тут CTRL+F5 не помогает. Проявляется так - у одного из провайдеров такой сайт есть, а у другого - еще нет. На самих сайтах нет никакого кэширования.

New! NVMe VPS от SmartApe.ru (https://goo.gl/eoYYkS)
nostromo
На сайте с 22.01.2010
Offline
6
#104
diafan:
nostromo, вы на каком хостинге наблюдали проблему?

Уважаемый diafan я постоянно использую хостинг http://www.avahost.ru/. Признаться очень им доволен. К слову С админом данного хостинга бились над данной проблемой почти сутки. Приведу лишь часть переписки, чтобы не посчитали за флуд:

************************************************************

Здравствуйте,

Какой кэш? кэш сессий?

На этом сервере нет кэширования, только кэш сессий, который включен у 99% серверов.

Все же Вы можете попробовать след. функцию для отключения кэширования:

<?php

function avahost_nocache()

{

header("Expires: Tue, 01 Jan 2001 06:00:00 GMT");

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");

}

?>

Если не помогает, дайте "кусок" кода для отладки

Спасибо

******************************************************************

После этого попытались воспользоваться директивой session.save_path, с

помощью которой решили задать собственный каталог для сохранения файлов

сессий. Результат не изменился.

Есть идея, на текущий момент, разбить registration.php на отдельные сегменты кода с целью обеспечения жесткого logout, но это пока в теории. Сам движок - прекрасный, спору нет, очень гибок, а редактирование содержимого выше любых похвал. Но это "суперкеширование" достало.

***ничто не бывает таким постоянным, как временное***
D
На сайте с 09.06.2006
Offline
165
#105
nostromo:
Все же Вы можете попробовать след. функцию для отключения кэширования:

<?php

function avahost_nocache()
{
header("Expires: Tue, 01 Jan 2001 06:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
}

?>

Я же говорю, все это стоит! Все до единой! Кроме LastModify, там реальное время редактирования страницы.

Посмотрите свои заголовки через be1.ru/stat/

Например, один из сайтов на Лидерхосте без этой проблемы отдает, давайте сравним с вашим (кстати, какой у вас домен на user.diafan.ru?):

Status: HTTP/1.1 200 OK

Date: Sun, 24 Jan 2010 09:51:43 GMT

Server: Apache/2.2.3 (Unix)

X-powered-by: PHP/5.2.6

Set-cookie: SESSdb60c199388cb03cdba2611305e83c5e=3cijhuircgai4q7dmoqkoneot2; path=/

Expires: Sun, 19 Nov 1978 05:00:00 GMT

Cache-control: post-check=0, pre-check=0

Pragma: no-cache

Last-modified: Wed, 20 Jan 2010 18:57:23 GMT

Content-length: 7389

Content-type: text/html; charset=utf-8

X-cache: MISS from s12.leaderhost.ru

nostromo:
После этого попытались воспользоваться директивой session.save_path, с
помощью которой решили задать собственный каталог для сохранения файлов
сессий. Результат не изменился.

Конечно, не изменится. А чего ему меняться? Какая разница, какой каталог для сессий? Сессии исправно создаются и исправно удаляются.

Мало того, все чудесно работает на многих других вышеописанных мною хостингах. (навскидку: Jino - zdravoved.ru, Masterhost - dommatrasov.ru, 1GB - murzikshop.ru) Значит глючит на Агава, ХЦ и теперь Авахост... Кэш сессий, говорите? Сейчас узнаю, что скажут рабочие хостинги относительно кэша сессий, например, Лидерхост.

diafan добавил 24.01.2010 в 13:26

nostromo:
Есть идея, на текущий момент, разбить registration.php на отдельные сегменты кода с целью обеспечения жесткого logout, но это пока в теории.

Дело не в регистрации, дело в любых данных, использующих сессии, а это прежде всего корзина. Разбив registration.php проблему не решите однозначно.

Плюс ко всему, размышляя логически: если один и тот же скрипт нормально работает на 15 хостингах, и на 3-х не нормально, какой смысл ломать скрипт и подгонять его под 3 хостинга? Очевидно, что проблема в каком-то параметре на этих 3-х хостингах...

nostromo
На сайте с 22.01.2010
Offline
6
#106

Status: HTTP/1.1 200 OK

Date: Sun, 24 Jan 2010 10:25:23 GMT

Server: Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635

X-powered-by: PHP/5.2.12

Pragma: no-cache

Expires: Sun, 19 Nov 1978 05:00:00 GMT

Cache-control: store, no-cache, must-revalidate, post-check=0, pre-check=0

Set-cookie: SESS928edfe774d8a40b667a9580fb19b3c4=213a4e593949e4916debd833e1f1b5bf; path=/

Last-modified: Sat, 23 Jan 2010 13:39:40 GMT

Transfer-encoding: chunked

Content-type: text/html; charset=utf-8

На diafan мой домен http://sv-istochnik.com

Вот такие заголовки.

Дело не в регистрации, дело в любых данных, использующих сессии, а это прежде всего корзина. Разбив registration.php проблему не решите однозначно.
Плюс ко всему, размышляя логически: если один и тот же скрипт нормально работает на 15 хостингах, и на 3-х не нормально, какой смысл ломать скрипт и подгонять его под 3 хостинга? Очевидно, что проблема в каком-то параметре на этих 3-х хостингах...

Я с Вами не спорю, проблема, по всей видимости, не в движке. Просто я пытаюсь докопаться до сути. Тут ведь вот какой фокус - если заходим на сайт через Mozilla то при попытке залогиниться, введенные данные "съедаются", но при переходе на другую страницу система выдает приветственное сообщение, ну а потом все, что писал выше.

DrJeans
На сайте с 06.07.2006
Offline
231
#107
diafan:
Я же говорю, все это стоит! Все до единой! Кроме LastModify, там реальное время редактирования страницы.

А что покажет LastModify родительского раздела, в котором изменена страница?

Каким будет LastModify главной, если там транслируются свежие новости?

Спроси на Boosty: https://boosty.to/smorovoz SEO на Ютубе: https://www.youtube.com/@youtube-seo/
D
На сайте с 09.06.2006
Offline
165
#108
nostromo:
Вот такие заголовки.

Ну нормальные заголовки, все "нокэш" есть...

nostromo:
Я с Вами не спорю, проблема, по всей видимости, не в движке. Просто я пытаюсь докопаться до сути. Тут ведь вот какой фокус - если заходим на сайт через Mozilla то при попытке залогиниться, введенные данные "съедаются", но при переходе на другую страницу система выдает приветственное сообщение, ну а потом все, что писал выше.

А уж как мы заинтересованы в докапывании до сути... :)

Советуют попробовать прописать в .htaccess

Header set pragma no-cache
ExpiresActive On
ExpiresDefault "access plus 0 minute"

Это отключение кэша сессий.

Хотя, тот же Лидерхост говорит, что кеш сессий у них включен, и при этом все работает нормально...

iq2003
На сайте с 31.03.2005
Offline
230
#109

diafan, можно ещё кое-что спрошу? ;)

Правильно ли я понял, что чпу можно создавать только для отдельных страниц? А для, например, новостей и статей, это не предусмотрено - там только ссылки вида .../show1/ , .../show2/ ?

D
На сайте с 09.06.2006
Offline
165
#110
iq2003:
diafan, можно ещё кое-что спрошу? ;)
Правильно ли я понял, что чпу можно создавать только для отдельных страниц? А для, например, новостей и статей, это не предусмотрено - там только ссылки вида .../show1/ , .../show2/ ?

Для новостей вы прописываете site.ru/novosti/show7/ - часть чпу novosti.

show7 - "показать седьмую", для частообновляемых модулей по нашему мнению оптимальное решение. И нет смысла отдавать это чпу под управление человека. А как иначе? site.ru/novosti/s_novym_godom/? А потом что? Через год пользователь забыл и снова сделал новость s_novym_godom? Или /u_nas_novyi_tovar/ пять раз? Лишние заморочки для администратора, глюки, перепроверки, непонятки...

Создаете страницу сайта - пожалуйста, как хотите чпу назначайте, но в модулях отдельные элементы - нет. Из нашего опыта - нет! ;)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий