Подписка

добавить на Яндекс

Наши проекты

Delphi+Google

Google API

Google API в Delphi - проект с открытым исходным кодом.

Chrono

Chrono

Хронометр - программа для ведения списка задач.

ODFProc

ODFProc

ODFProc - работа с документами OpenOffice в Lazarus и FreePascal.

Поддержка блога

А тут я коплю на лицензию Delphi XE на iPad =).
Сумма пожертвования не фиксирована.

Публикации

Год назад

Случайный пост

Последние

Сообщения форума

Комментарии

Свежие комментарии

Социальные сети

Google

Facebook

Twitter

Опрос

Вы сейчас или в ближайшем обозримом будущем планируете разрабатывать кроссплатформенное приложение с использованием Firemonkey?



Loading ... Loading ...

Блоги и сообщества

Статьи по Delphi DelphiFeeds.ru - Все Delphi-блоги Рунета Сообщество умных людей VR-Online.RU Бесплатный журнал для программистов и всех, кто интересуется IT Статьи и уроки по Delphi Новостной блог о высоких технологиях
Система Orphus
Опубликовал Vlad 14 января 2010 в 08:00.
Категории: Delphi в Web.


"Шутки в сторону", как сказал король Дезмонд, когда посреди пиршества гости неожиданно принялись синеть и помирать.

(с)Анджей Спаковский, "Ведьмак"

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

Вначале о том, что может программа в принципе. Программа проводит проверку файлов в архиве по чеырем параметрам:

  1. Кодировка файла - если кодировка отличается от utf8, то шаблон считается потенциально опасным для использования
  2. Ссылки на сторонние ресурсы в файлах темы. Здесь, думаю всё ясно - нашли ссылку, пометили тему как опасную
  3. Зашифрованные участки кода - если найден такой участок, то тема помечается как потенциально опасная
  4. Наличие в файлах вызовов php-функции eval - может нести в себе довольно серьёзную опасность для пользователей блога.

Теперь, непосредственно по работе с самой программой. Итак, запускаем программу, выбираем zip-архив с шаблоном WordPress и жмем кнопку "Проверить":

В списке проверенных файлов красным выделяются файлы в которых найдены нежелательные ссылки, закодированные участки и вызовы eval. Желтым - файлы с измененной кодировкой. При этом если в файл одновременно и содержит нежелательные элементы и у него кодировка отлична от utf8 - он выделяется красным.

Вполне вероятно, что в программа может найти в шаблоне ссылку, например, на ресурс wordpress.org и отметит такую тему нежелательной и потенциально опасной. Чтобы избежать подобных ситуаций в WP Checker предусмотрена настройка ссылок-исключений, т.е. тех адресов сайтов, которые будут пропускаться при проверке.

Чтобы настроить ссылки-исключения необходимо выбрать в главном меню WP Checker "Настройка"--"Ссылки-исключения"

По умолчанию в программе содержаться всего четыре ссылки. Сколько исключений будет у Вас - только Вам решать. Удалить ссылку-исключение можно двойным кликом по ней в списке.

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

  1. Количество измененных файлов
  2. Количество найденных нежелательных ссылок
  3. Количество закодированных участков в файлах

Для того, чтобы увидеть подробное описание оибки, достаточно сделать двойной клик по ней в списке:

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

  1. При обнаружение закодированного участка (base64) - возможна расшифровка закодированных строк. При этом расшифровке поддаются строки без сжатия. К сожалению стандарты сжатия в php и delphi отличаются (различаются версии стандартов шифрования), поэтому пока сжатые строки не расшифровываются.
  2. При обнаружении нежелательной ссылки - возможно отследить каким образом ссылка попадает на страницы блога. Рассматриваются два варианта - через вызов php-функции и простая вставка ссылки в файл. В первом случае (если ссылка вставляется посредствам вызова php-функции) WP Checker отслеживает вызовы этой функции во всех файлах шаблона
  3. Что касается eval, то в данном случае WP Checker использует следующий алгоритм: с помощью регулярного выражения определяется какая строка передается в фуекцию. Если строка содержит base64_decode, то отметка о наличии eval не устанавливается, а указывается только закодированный в base64 участок, иначе - запоминается строка, передаваемая в eval.

Для иллюстрации, посмотрим, как выглядит окно с подробной информацией по нежелательным ссылкам:

На основании представленной информации, Вы можете без лишних затруднений найти вызовы php-функции и удалить их из шаблона.

Надеюсь, что применения WP Checker поможет Вам избежать неприятных ситуаций при установке понравившейся темы WordPress на свой блог.

Скачать WP Checker можно здесь.

--------------------
Нет лучшего способа отвлечься и расслабиться, как посмотреть классный фильм. Однако для этого сначала необходимо скачать новые фильмы и лучше всего - бесплатно. На KinoNarezka.ru вы сможете найти фильмы всех жанров на любой вкус.

Ну, а если Вы любите отдых на природе, то здесь Вам как нельзя кстати подойдёт рыбалка на волге. Турбаза "Пересвет" даст Вам возможность провести прекрасный отдых на природе.
--------------------
Понравилась статья? Тогда:
Делись! Загружай! Плюсуй!
   Отправить PDF на   
Читай ещё статьи на WebDelphi.ru

Комментарии (15)

WP_Cloudy
  • Александр Божко пишет:

    Да…
    Мысли как-то в схожем направлении у  нас работают.
    Я вот сейчас пытаюсь сделать программу для автоматизации некоторых вещей в Joomla. В контексте DelphiFeeds :)
    В случае положительного исхода — тоже покажу.

  • Vlad пишет:

    Так если Joomla поддерживает работу с XML-RPC, то полагаю проблем с реализацией быть не должно никаких. Только парсер толковый написать или найти. Если, что — всегда к вашим услугам :) Для DelphiFeeds.ru готов поучаствовать в разработке

  • Александр пишет:

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

  • Vlad пишет:

    С тысячами ссылок на ГС в вашем шаблоне блога — уник не спасет. тИЦ и PR будете наращивать в год по 1

  • Альберт пишет:

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

  • Максим пишет:

    При поптыке проверить архив с темой, выдается Access violation, никто не подскажет возможных причин?

  • Infinik пишет:

    А поподробнее кто нибудь может объяснить. Заранее спс.

  • Александр пишет:

    Скачал wp checker … Запустил..С жесткого диска взял заархивированный шаблон..Вставил в окошко «файл» нажал на планочку проверить и ничего не произошло.Что я не так делаю?

  • Александр пишет:

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

  • Vlad пишет:

    Александр, Вы правы — я пока ещё в отпуске :) Дайте, пожалуйста, ссылочку на тот файл, который вы хотели проверить. Посмотрю, что произошло — может быть дело в программе, тогда придётся её немного доработать

  • Александр пишет:

    <<<<<<<>>>>>>>>>>>>

    У меня блин тоже самое,, а прога так нужна,, спасайте уже ребята

  • Vlad пишет:

    Придётся немного подождать. Прога писалась в Lazarus под Linux’ом. А сейчас я под Win7 — надо кое-что переписать полностью.

  • denis пишет:

    У меня XP SP3 такая же петрушка-выдает ошибку. Очень жаль. Очень неплохо было бы попробовать некоторые темы.

  • seoblogo пишет:

    Добротный пост

  • aleksandr пишет:

    Не работает

Ваш ответ

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

Пожалуйста, заключайте исходный код в тэги [code][/code].
Если код большой, то воспользуйтесь Вставкой кода на отдельной странице и оставьте в комментарии ссылку на исходник