Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Неверный параметр.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Mefistofel
Отправлено: 01 Февраля, 2013 - 09:38:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




Реята, объясните мне, пожалуйста, что за фигня? Неважно с какого компьютера заходят на сайт, на главную страницу, там порой пишет @Неверный параметр". Кто-то при попытке зарегистрироваться после заполнения полей и отправке то же самое сообщение получает". Это повторяется непостоянно. В чем может быть дело? Может ли это быть связано с хостером? Посещаемость вообще не растет, нужно решать эту пролему, подскажите, господа хорошие!


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
createl
Отправлено: 01 Февраля, 2013 - 09:46:53
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Мне кажется маловато информации предоставил. Даже не сказано на какой cms сайт.

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

Как вариант, может быть что угодно, но наиболее вероятно соединение с БД не устанавливается
 
 Top
Mefistofel
Отправлено: 01 Февраля, 2013 - 09:50:04
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




Джумла 2.5 Сайт этот -www[dot]copyprof[dot]ru Ошибка выскакивает не оформленная, а просто текстом в первой строке. Какую информацию нужно предоставить, чтобы разобраться в проблеме?
(Добавление)
Режим отладки не включал - ошибка появляется несколько дней уже, при чем появляется в течении получаса, потом все работает хорошо. Моментами норм, моментами плохо. В логах все тип-топ.


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
createl
Отправлено: 01 Февраля, 2013 - 10:58:10
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




С БД все в порядке раз страница генерируется нормально(думал, кроме ошибки ничего не вылазит больше)

А вы уверены, что ошибка с любого компьютера проявляется? Мне лично не удалось воспроизвести никакую ошибку. Посоветовал бы следить, после каких действий она проявляется, раз она неявная. Склонен думать, что то связанное с авторизацией, с уровнями доступа и тд (смотря чего там еще напридумывали джумлисты). Вот когда ошибка повторится, попробуйте зайти на сайт с другого "чистого" компьютера, который стоит вне вашего дома/предприятия, дабы подтвердить/опровергнуть догадку.
 
 Top
Mefistofel
Отправлено: 01 Февраля, 2013 - 11:04:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




createl пишет:
С БД все в порядке раз страница генерируется нормально(думал, кроме ошибки ничего не вылазит больше)

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


Одновременно заходили с разных компьютеров из разных стран - Украина, Россия, Белоруссия. У одного ошибка при входе на сайт (на главную), у другого после заполнения полей регистрайии (после отправки), у третьего тоже при попытке войти гостем на главную. Грешу на хостера - они сервак недавно переносили... Но если выдается ошибка, значит не подключаются файлы... Этот текст ошибки же прописан где-то в php? В index.php нет такого echo. Может если я найду текст ошибки, то можно будет понять причину, по которой она возникает? Только как же ее найти? В каком файле?


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
createl
Отправлено: 01 Февраля, 2013 - 11:27:22
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Можно поискать - хуже не будет. Правда может быть так, что это сообщение выводиться для вагона и маленькой тележки неисправностей.

Если хостер переехал, то как вариант, стал недоступен какой то параметр, возможно из за изменившихся настроек сервера. А поскольку ошибка имеет временное явление, может это связанно с профилактическими работами на сервере? может ошибку искать в коде бессмысленно...
 
 Top
Mefistofel
Отправлено: 01 Февраля, 2013 - 12:47:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)






И снова та же история... Хостеру даже толком не получается объяснить в чем дело...


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
createl
Отправлено: 01 Февраля, 2013 - 16:05:22
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Поковырялся в своей джумле. На английском ошибка выглядела бы так
CODE (html):
скопировать код в буфер обмена
  1. The most recent request was denied because it contained an invalid security token. Please refresh the page and try again.

Что примерно означает косяк с токеном. Почему он становится вдруг неподходящим не знаю, но передается он вроде через куки.

(Отредактировано автором: 01 Февраля, 2013 - 16:06:38)

 
 Top
Mefistofel
Отправлено: 02 Февраля, 2013 - 09:20:05
Post Id



Частый гость


Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012  
Откуда: Россия


Помог: 0 раз(а)




И как с этим бороться? Как повлиять?


-----
Чем короче и понятней код, тем ты нужнее народу
 
 Top
createl
Отправлено: 02 Февраля, 2013 - 13:04:33
Post Id



Гость


Покинул форум
Сообщений всего: 87
Дата рег-ции: Янв. 2012  


Помог: 0 раз(а)




Еще после некоторых изысканий со своей джумлой удалось узнать:
Данную ошибку выдает это
PHP:
скопировать код в буфер обмена
  1. JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));

Может находится где угодно!
Приводит нас в файл \libraries\legacy\request\request.php (у меня! В вас может отличать путь, но файл скорее всего называется также - ищем русскими народными методами, юзая поиск файлов)
Здесь есть метод function checkToken и он нам нужен
PHP:
скопировать код в буфер обмена
  1. public static function checkToken($method = 'post')
  2.         {
  3.                 if ($method == 'default')
  4.                 {
  5.                         $method = 'request';
  6.                 }
  7.  
  8.                 return JSession::checkToken($method);
  9.         }

Здесь проверяется способ передачи токена от клиента (кстати был не прав, что он передается через куки) - в моем случае используется post ($method = 'post'). На всякий, вам тоже не помешает глянуть, и сообщить, что используется

Следуем далее в файл \libraries\joomla\session\session.php
PHP:
скопировать код в буфер обмена
  1. public static function checkToken($method = 'post')
  2.         {
  3.                 $token = self::getFormToken();
  4.                 $app = JFactory::getApplication();
  5.  
  6.                 if (!$app->input->$method->get($token, '', 'alnum'))
  7.                 {
  8.                         $session = JFactory::getSession();
  9.                         if ($session->isNew())
  10.                         {
  11.                                 // Redirect to login screen.
  12.                                 $app->redirect(JRoute::_('index.php'), JText::_('JLIB_ENVIRONMENT_SESSION_EXPIRED'));
  13.                                 $app->close();
  14.                         }
  15.                         else
  16.                         {
  17.                                 return false;
  18.                         }
  19.                 }
  20.                 else
  21.                 {
  22.                         return true;
  23.                 }
  24.         }

Этот метод получает токен установленный для этой сессии и пытается его получить из запроса посланного клиентом. В случае удачи происходит else return true и это значит все ок. Если же токин из запроса не получен, то скрипт смотрит, новая сессия или нет. Если новая, то все в порядке, происходит редирект, и ошибки быть не должно. В вашем случае , похоже сессия старая, а токен не получен, что приводит к ошибке.
Варианты почему так?!
1. Получает некорректный токен от или скорее вообще не получает
2. Недоступен токен из запросса
PHP:
скопировать код в буфер обмена
  1. $app->input->$method->get($token, '', 'alnum')

Вариантов почему тоже может быть много, например ручная неправильная модификация запроса - глюки хоста не исключены
3.Сессия ошибочно признается старой, хотя она новая
Остается только воспроизводить ошибку и смотреть, что за параметры получают эти методы
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB