Перейти к содержанию

Рекомендуемые сообщения

Добрый день! Ищу того, кто поможет найти причину плавающей 404 ошибки (и устранить ее) . 

 

Сайт: ocstore 1.5.5.1.2.

 

Проблема: периодически страницы отдают 404 ошибку " Страница не найдена" (шапка, футер и текст "Страница не найдена"). Причем Страница не найдена  может быть абсолютно на любой странице (категория, карточка товара). 

 

С товарными карточками проблемы возникают в следующих случаях (что удалось точно засечь):

- после добавления нового товара на сайт

- после попытки перейти на карточку из внутрисайтового поиска

- после внесения изменений на карточку товара 

 

Помогите, пожалуйста. устранить проблему, ибо теряются клиенты, страницы выпадают из индекса (

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Очень похоже на вирусню.

Попробуйте вот скрипт.

<?php

/*
SELECT  `date_check` 
FROM  `files` 
GROUP BY  `date_check` 
ORDER BY  `date_check` DESC 
LIMIT 2
*/


// Configuration
require_once('config.php');
require_once(DIR_SYSTEM . 'startup.php');

$dir = (__DIR__);
$files = array();
$now = time();

$db = new DB(DB_DRIVER, DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
$sql = "CREATE TABLE IF NOT EXISTS `files` (
  `path` varchar(1024) NOT NULL,
  `filesize` int(11) NOT NULL,
  `date_create` int(11) NOT NULL,
  `date_modified` int(11) NOT NULL,
  `date_check` int(11) NOT NULL,
  `suspicion` text,
  KEY `path` (`path`(333)),
  KEY `date_check` (`date_check`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
$db->query($sql);
//scan
function scan_dir($dir, $files) {

	$items = glob( $dir. "/*");
	$tmp = array();
	if(is_array($items)) {
		foreach ($items as $item) {
	
			if(is_dir($item)) {
				$files += scan_dir($item, $files);
			} else {
				$path_info = pathinfo($item);

				if ( isset($path_info['extension']) && ($path_info['extension'] == 'php')) {
					
					$suspicion = '';
					$content = strtolower(file_get_contents($item)); 
					
					//	'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),

					$suspicion .= (substr_count($content, 'global') > 0) ? 'global|' : '' ;
					$suspicion .= (substr_count($content, 'eval') > 0) ? 'eval|' : '' ;
					$suspicion .= (substr_count($content, 'base64_decode') > 0) ? 'base64_decode|' : '' ;
					$suspicion .= (substr_count($content, 'gzinflate') > 0) ? 'gzinflate|' : '' ;
					$suspicion .= (substr_count($content, 'preg_replace') > 0) ? 'preg_replace|' : '' ;
					$suspicion .= (substr_count($content, 'exec') > 0) ? 'exec|' : '' ;
					$suspicion .= (substr_count($content, 'system') > 0) ? 'system|' : '' ;
					$suspicion .= (substr_count($content, 'shell_exec') > 0) ? 'shell_exec|' : '' ;
					
					
					$files[] = array(
						'path' => $item,
						'filesize' => filesize($item),
						'date_create' => filectime($item),
						'date_modified' => filemtime($item),
						'suspicion' => $suspicion
					);	
				};
				
			};
		}
	}
	return $files;
} 

$results = scan_dir($dir, $files);

foreach ($results as $result) {
	extract($result); 
	$db->query("INSERT INTO `files` (`path`, `filesize`, `date_create`, `date_modified`, `date_check`, `suspicion`) VALUES ('$path', '$filesize', '$date_create', '$date_modified', '$now', '$suspicion')");
}

//report
$sql = "SELECT * FROM  `files` WHERE  `suspicion` != '' AND date_check = $now ";

$report_global = $db->query($sql)->rows;

print_r($report_global);

Я не успел его пока привести в "товарный вид"

Но свои функции по поиску зловредов он отлично выполняет...

Положите в корень в виде пхп файла и запустите.

Если не найдете ничего подозрительного - нужно будет смотреть ваши логи и анализировать в чем проблема.

  • +1 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

похоже на попытку отобразить для ошибки страницу, которой нет.

смотри заголовки ответов в браузере, логи ошибок сервера.

добавь в .htaccess в самое начало

ErrorDocument 401 "401 Auth Required"
ErrorDocument 403 "403 Access Denied"
ErrorDocument 404 "404 Not Found"
ErrorDocument 405 "405"
ErrorDocument 415 "415"
ErrorDocument 500 "500 Internal Server Error"
и смотри будет ли выползать "404 магазина" или посыпется текст из кавычек (скорее всего пятисотка).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуйте вот скрипт.

 

А как интерпретировать? Я запустил на одном магазине ради интереса, он выдал такого типа строки http://prntscr.com/c1egxd

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день! Ищу того, кто поможет найти причину плавающей 404 ошибки (и устранить ее) . 

 

Сайт: ocstore 1.5.5.1.2.

 

Проблема: периодически страницы отдают 404 ошибку " Страница не найдена" (шапка, футер и текст "Страница не найдена"). Причем Страница не найдена  может быть абсолютно на любой странице (категория, карточка товара). 

 

С товарными карточками проблемы возникают в следующих случаях (что удалось точно засечь):

- после добавления нового товара на сайт

- после попытки перейти на карточку из внутрисайтового поиска

- после внесения изменений на карточку товара 

 

Помогите, пожалуйста. устранить проблему, ибо теряются клиенты, страницы выпадают из индекса (

Ну да

seo_pro, а через час?

А кеш почистить?

Ну и.. https://opencartforum.com/files/file/2233-seo-pro-fixed-15-%D0%B8-21-%D0%B4%D0%BB%D1%8F-ocsrtore/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое, товарищи, за наводки. Сейчас буду пробовать делать. По результатам отпишусь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

модуль пытается что-то докачать с какого-то стороннего ресурса, который недоступен.

уж не с вареза ли модуль взят?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

уж не с вареза ли модуль взят?..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ху*во, однако...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.