Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

shopos error: invalide session key.

При заходе на сайт иногда в место главное страницы магазина открывается сообщения
shopos error: invalide session key.
При попытки пару раз обновить страницу проблема исчезает и загружается магазин.
Что это такое? Как устранить данную проблему?
Заранее благодарен.


хм. может дело вот в этом коде

includes\functions\sessions.php

  //фильтруем key
      $key  = mysql_real_escape_string($key);
 
  if (preg_match("//", $key))
  {
          die('shopos error: invalide session key.');
      }
 
      $qid = os_db_query("select value from " . TABLE_SESSIONS . " where sesskey = '" . $key . "' and expiry > '" . time() . "'");


просто раньше в качестве ключа для сессий скармливали какую то sql инъекцию

теперь он фильтруется


Здравствуйте. Спасибо за совет.
Я удалил этот код.
Посмотрю в течении нескольких дней, что будет с этой проблемой.
К концу недели отпишусь)))



Здравствуйте. Спасибо за совет.
Я удалил этот код.
Посмотрю в течении нескольких дней, что будет с этой проблемой.
К концу недели отпишусь)))


если взломают - не удивляйтесь


if (preg_match("//", $key))
      {
          die('shopos error: invalide session key.');
      }
     
А какой смысл в этой проверке вообще?
Без нее если будут некорректные символы, то поиск в  базе просто не даст результата. Все будет работать прекрасно.



if (preg_match("//", $key))
      {
          die('shopos error: invalide session key.');
      }
     
А какой смысл в этой проверке вообще?
Без нее если будут некорректные символы, то поиск в  базе просто не даст результата. Все будет работать прекрасно.


так а толку продолжать работу кода, если видно что какие то левые данные идут


Не помогло(((( Я просто в растерянности.


в этом файле

эти строчки встречаются несколько раз




А какой смысл в этой проверке вообще?
Без нее если будут некорректные символы, то поиск в  базе просто не даст результата. Все будет работать прекрасно.

так а толку продолжать работу кода, если видно что какие то левые данные идут


И что с того, что идут? Вот сейчас  Вы с этой проверкой уже пользователю создали проблему почти неразрешимую. В самых худших традициях выводится  малопонятная и почти бесполезная для пользователя кратенькая фраза - именно так, как в стандартных учебниках по программированию приводятся отрицательные примеры работы.
И что будет делать пользователь, получив такую фразу? Скорее всего (если не решит уйти с сайта совсем), вручную или как-то еще  наберет адрес главной страницы снова. А если убрать проверку, то это пройдет автоматически и проблемы не будет.

А если настаиваете на этой проверке, то надо бы реальную поддержку оказать. Вступить в контакт с пользователем. Выяснить, что за символы берутся и откуда.  А вдруг в скрипте редко проявляющаяся ошибка?

И если так любите проверки, то занялись бы проверками более существенными. Например, оба адреса
http://domain/product_info.php?products_id=11
http://domain/product_info.php?products_id=11&tra-ta-ta
дают в браузере одно и тоже. А второй явно левый, по Вашей терминологии. Такое положение совсем не такое уж безобидное, как кажется на первый взгляд.


Если удалить этот код и в другой части файла sessions.php, то сайт перестает функционировать(
Если вам нетрудно, то покажите как должен выглядить sessions.php в моем случаи.
Судя по всему такая проблема только у меня возникла. Я только поставил версию 2,5,4 и внес пару изменений на главной странице (баннеры..) Тогда почему  у меня есть такая проблема и ни у кого больше? Может я что-то делаю не так. Например: хостинг другой, поставил криво....
Заранее благодарен.


добавьте

после

function _sess_read($key) {


строку

echo $key;

и покажите что там выводится

потом попробовать заменить

ваш  sessions.php

на прикрепленный


При добавлении строки наблюдаем ..... скриншот.
При замене всего содержимого вашим sessions.php наблюдаем работающим магазин. Пока работающий))) Буду следить за ним, если в течении нескольких дней проблем не будет, то начну напонять его, а пока смыла нет.
Спасибо за помощь!!!!


если сейчас работает

чего вдруг через пару дней перестанет работать?


Оно и раньше работало)))) Тут как попадеш. Может заходить без проблем некоторое время, а может и выдать такую ошибку. Как рулетка :) Может магазин загрузится, а может и ошибку. Поэтому и сказал, что протестирую пару дней. Если в течении, например, 3-х дней не будет ошибок, то проблема решена. На данный момент заходил раз 20 на сайт и проблем не было.


Интересно бы выяснить, откуда та ошибка бралась, что за символы появлялись нестандартные? 


Насколько я понимаю, такое чудо-юдо только у меня было?  :)


Скорее всего, специфические фокусы вашего сервера.


Все. Думаю проблема точно решена. За эти дни проблем не было.
Благодарен за помощь!!!


хорошо, что все хорошо


Источник



Copyright ShopOS