Изобретаю велосипед - десктопная сверка сайта на изменения.

dag
На сайте с 10.02.2007
Offline
214
dag
1096

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

Ну дор был выпилен, а мной написан серверный скрипт сверки всех файлов с эталоном в бд сайта.

Время летит, сайтов становится больше одного, да и на сервере тяжело все это ворочается.

Вот и написал для себя максимально простую десктопную версию "сверялки" плюс простейший php скрипт (так сделано специально чтоб всем было понятно что он делает).

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

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

Единственное что нужно программе (инсталлятора нет) - NET Framework 3.5

zip checksite.zip
Jake Foley
На сайте с 16.08.2008
Offline
151
#1

Здравствуй, начал тестировать

В любой CMS есть файлы (разные кеши и т.п.) которые не нужно сравнивать, так как они постоянно изменяются самой CMS.
Для этого в окне "Результат анализа" (основное окно программы) кликаем левой кнопкой мышки на строку с этим файлом,
затем правой кнопкой мышки по уже выделенной строке. В появившемся окне редактируем строку - образец для игнорирования
и сохраняем его. Впредь при проверках этого сайта все файлы (включая их путь), содержащие эту строку, будут игнорироваться.
таким образом, можно легко избавиться от всяких forum/cache и прочих /var папок.

Что-то я не могу найти этого нигде.

Скорее всего т.к.:

Файл выкачивается, все ок, но в конце концов пишет "завершено с ошибкой".

При сверке с эталоном - то же самое :/

dag
На сайте с 10.02.2007
Offline
214
dag
#2

Да, все верно, что бы какие то файлы и папки можно было исключить из сравнения - они сначала должны отобразиться в списке расхождений, например как на картинке. И тогда по правой кнопке мышки на подсвеченной строке можно будет задать строку-образец для исключения, например "var/run"

jpg screen.jpg
dag
На сайте с 10.02.2007
Offline
214
dag
#3

А вот что за ошибка в файле в позиции 53069046... Вы не могли бы посмотреть, что там в xmlке, в этой позиции? (плюс минус несколько символов).

Skf
На сайте с 24.09.2009
Offline
170
Skf
#4

Зачем десктоп с геммороем? Проще (если такой есть или будет) зайти в онлайн-сервис, закинуть бабки и настроить расписание проверки + может выставить какие-то маячки, при срабатывании которых будут уведомления на почту или телефон идти.

>>>>>>>>>>>>>>>> Массовая проверка Яндекс.ИКС [Бесплатно]: https://searchengines.guru/ru/forum/1071333 <<<<<<<<<<<<<<<<
dag
На сайте с 10.02.2007
Offline
214
dag
#5

Да, запуск по расписанию - неплохо. Сделал.

Если программе передать единственный аргумент коммандной строки - имя тестируемого домена, например так: "CheckSite.exe yandex.com", то процесс сверки запустится автоматически, если изменений не будет выявлено то программа закроется без каких либо сообщений. Если изменения были найдены, то будет выведено соответствующее предупреждение и можно будет посмотреть, что изменилось.

ВАЖНО!!! Нашел глупый баг, когда после добавления "игнор строк" игнорились все найденные изменения (((. Исправил, выкладываю.

zip CheckSite.zip
dag
На сайте с 10.02.2007
Offline
214
dag
#6

Почему именно десктоп.

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

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

Десктоп же не ограничен ресурсами, плюс две xml ки сверяются тоже одним linq запросом - упс и готово.

Jake Foley
На сайте с 16.08.2008
Offline
151
#7
dag:
А вот что за ошибка в файле в позиции 53069046... Вы не могли бы посмотреть, что там в xmlке, в этой позиции? (плюс минус несколько символов).

Скорее всего вот:

File Name="cache/sitecache/cache_d41d8cd98f00b204e9800998ecf8427e_?of=m8031;t33419;s10698&page=1.html"

Очистил кеш, вроде бы все ок.

В идеале у кого проблема - сразу добавить файл ignore.list и список, что игнорируем


<?xml version="1.0"?>
<ArrayOfString xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<string>cache/sitecache/</string>
<string>htracers/</string>
</ArrayOfString>

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