Как защитить сайт от тотального скачивания. PHP


Оглавление (нажмите, чтобы открыть):

Контроль файлов на PHP — как запретить скачивание и сделать счетчик загрузок

Управлять файлами на PHP достаточно просто – для этого в арсенале языка есть большое количество возможностей. Контроль за скачиванием файлов может понадобиться в самых разных ситуациях, можно сделать к примеру запрет скачивания или счетчик загрузок файлов на PHP.

Для чего это может понадобиться? Например, скачивать файлы могут только зарегистрированные пользователи или пользователи, оплатившие программное обеспечение и т.д. В таком случае необходимо сделать запрет скачивания файлов и разрешать его только тем пользователям, которые выполнили требование. Также часто может понадобится реализовать счетчик загрузок файла, который будет показывать посетителям насколько популярен тот или иной файл, а также такой счетчик можно использовать в целях мониторинга. Одним словом, вариантов для чего может понадобиться контроль за файлами на PHP — множество.

Итак, как это можно реализовать? Ниже будут рассмотрены необходимые шаги.

Подготовка папки и файлов

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

Лучше конечно вынести такую папку выше корневой директории сайта – тогда никто не сможет напрямую получить доступ к файлу через адрес в строке браузера. Называться такая папка может как угодно, например, private-directory. Когда папка создана и файлы размещены, можно перейти к следующему шагу.

Составление формата адресов

Теперь, когда прямое скачивание файлов запрещено, нужно решить, как будут выглядеть адреса скачиваемых файлов. Адреса можно использовать любые, как с расширением на конце, так и без – они все равно будут виртуальными. Например, адреса могут выглядеть примерно следующим образом: /download/file, /download/file.jpg или /download/files/file.jpg.

Реализация функции запрета и подсчета количества скачиваний файла

Напишем функцию, осуществляющую контроль за доступом к скачиванию. Примерно она может выглядеть так:

Написание функции для скачивания файла через PHP

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

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

Защита PHP сайта от взлома

21.06.2013, 17:06

Защита PHP сайта паролем
Доброго времени суток. Я новичок в данной теме. Мне необходимо защитить сайт от.

Защита от взлома
Имеется простенький скрипт реги&авториз нужно: «обработка всех переданных через форму данных.

Защита от взлома
Помогите организовать защиту от взлома. Слышал что можно в input’ах вводить sql код.Если это.

Защита формы от взлома
Добрый день. Слышал что многие взломы сайтов происходят из-за того, что на форме нет защиты. Я.

Как защитить php файл после взлома сайта?
Всем привет! Не так давно на мой сайт был залит шелл WSO 2.5. Для тех кто не знает что это. Через.

Защита от спама, ботов, тотального скачивания v.1 — Дизайн и модификация Invision Power Board

  • Дизайн и модификация Invision Power Board
  • ‘ title=’>’ />Файловый архив
  • ‘ title=’>’ />IPB v2.3.x
  • ‘ title=’>’ />Mods/Моды
  • ‘ title=’>’ /> Защита от спама, ботов, тотального скачивания v.1
  • Новые публикации

Владелец

Информация о файле

  • Дата размещения:янв 07 2010 13:19
  • Обновлен:янв 07 2010 13:28
  • Размер файла: 7,01К
  • Просмотров: 4808
  • Загрузок: 119

Перейти в тему поддержки

Скачать Защита от спама, ботов, тотального скачивания v.1

Описание файла

Название:
Защита от спама, ботов, тотального скачивания v.1

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

Подробное описание:
Не смог открыть тему в разделе, поэтому помещаю описание нового мода сюда, в надежде, что администратор переместит его в форум Модов.

Защита от спама, ботов, тотального скачивания v.1

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

Условия пользования: бесплатно.

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

Авторы: Zero108 и неизвестные программисты, написавшие изначальный код скрипта.

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

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

Для утсановки на форум ipb 2.3.6 не нужно править никаких файлов форума, что, определенно, является преимуществом.
Грамотная настройка занимает 15 минут.

Список забаненных ботов можно в любой момент посмотреть в файле ban.log. В файле ban.txt хранится список сессий скрипта.

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

Побочные эффекты: 1) Некоторые боты малоизвестных поисковых серверов (а-ля ВасяПупкинГуглКруто.ru) будут забанены.
2) Нехорошие дяденьки с волосатыми руками и наколками типа «10 лет успешного хака» будут кусать локти, так как
их сканилка будет забанена, а искать дыры другими способами на вашем супер мега популярном форуме у них нет времени. И т.д.

Глюки: не замечено. Если найдете, пишите в топик.

Установка на форум IPB:

1) Скачать архив inc.rar (7 кб).

2) Разархивировать архив в отдельную папку inc (папка в архиве сохранена).

3) Открыть файл flooders.inc.php.
В строке 25:

Заменить 600 на любое число, означающее время в секундах, на которое будет забанен нежелательный посетитель (бот).
Обычно, 600 — достаточное время, чтобы бот понял, что ловить нечего и удалился. Можно поставить и 3600, например.

4) Открыть файл link.php.
Отредактировать список разрешенных ботов. Например, строки

будут означать, что боты поисковиков от Rambler, Google и Yandex забанены не будут.

, что посетитель (бот или человек) с ip = 82.82.182.182 забанен не будет.

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

5) Произвести аналогичные п.4 изменения для файла flooders.php. В идеале списки ботов и ip адресов файлов link.php и flooders.php должны быть идентичными.

6) Загрузить папку inс вместе со всеми файлами на сервер, в корень форума.

7) Установить права CHMOD на сервере на папку inc = 755.

8) Установить права на сервере на файлы в папке inc:
ban.log = 777
ban.txt = 777
flooders.inc.php = 644
flooders.php = 644
link.php = 644
link.gif = 644

9) Отредактировать каждый из установленных на форуме шаблонов. Для этого:
Зайти в Админ центр (АЦ) -> ВНЕШНИЙ ВИД -> Изменить общий шаблон форума (для каждого из установленных шаблонов) ->

заменить на:
Нажать на кнопу «Сохранить общий шаблон».

10) Скачать с сервера файл .htaccess
Если нет директивы RewriteEngine On, то добавить следующее в конец файла:

Загрузить файл .htaccess обратно на сервер.

Как защитить сайт от тотального скачивания. PHP

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

Сперва начнем с изучения предмета. Посмотрим лог работы какого-нибудь менеджера закачки, который скачивает обычный файл с обычного web-сервера. Конкретно нас интересуют служебные заголовки, которые сервер отдает менеджеру закачки или браузеру:

HTTP/1.1 200 OK
Date: Sat, 15 Aug 2009 17:24:40 GMT
Server: Apache/1.3.41 (Win32)
Connection: close
Content-Type: application/octet-stream
Accept-Ranges: bytes
Content-Disposition: Attachment; filename=filename.rar
Content-Length: 2676708

В заголовках есть вся нужная информация: тип файла, его имя, размер файла. После этого идет непосредственно содержимое файла. Если сервер отдает такие заголовки, значит их точно так же может отдавать и наш PHP-скрипт через функцию header.

Напишем простейший скрипт и попробуем открыть его в браузере или добавим ссылку на него в менеджер закачек:

  1. Header ( «HTTP/1.1 200 OK» );
  2. Header ( «Connection: close» );
  3. Header ( «Content-Type: application/octet-stream» );
  4. Header ( «Accept-Ranges: bytes» );
  5. Header ( «Content-Disposition: Attachment; filename=filename.dat» );
  6. Header ( «Content-Length: 50000» );
  7. echo str_repeat ( ‘!’ , 50000 );
  8. ?>

В любом случае начнется скачивание файла filename.dat размером 50000 байт, состоящего из восклицательных знаков. Мы только что «на лету» сгенерировали файл, которого физически на сервере не существует. Таким образом мы можем генерировать «виртуальные» файлы и отдавать их пользователю. Это могут быть, например, созданные скриптами CSV-файлы, картинки, архивы, сгенерированные PDF-файлы и другой контент. Тут главное правильно указывать имя файла и размер передаваемых данных, тип рекомендуется всегда оставлять application/octet-stream. Главный недостаток этого способа в том, что не поддерживается докачка в случае обрыва соединения, но он лучше всего подходит для небольших, до нескольких сот килобайт, файлов.

Теперь немного усложним задачу и модифицируем скрипт для работы с реальными файлами. Принцип тут тот же самый, только данные будут создаваться не из воздуха, а читаться из файла. Пусть сами файлы лежат в подпапке \secret_data, а имя файла передается в качестве параметра вызова скрипта.

  1. $fname = $_GET [ ‘fname’ ];
  2. $fsize = filesize ( ‘secret_data/’ . $fname );
  3. Header ( «HTTP/1.1 200 OK» );
  4. Header ( «Connection: close» );
  5. Header ( «Content-Type: application/octet-stream» );
  6. Header ( «Accept-Ranges: bytes» );
  7. Header ( «Content-Disposition: Attachment; filename=» . $fname );
  8. Header ( «Content-Length: » . $fsize );
  9. // Открыть файл для чтения и отдавать его частями
  10. $f = fopen ( ‘secret_data/’ . $fname , ‘r’ );
  11. while (! feof ( $f )) <
  12. // Если соединение оборвано, то остановить скрипт
  13. if ( connection_aborted ()) <
  14. fclose ( $f );
  15. break;
  16. >
  17. echo fread ( $f , 10000 );
  18. // Пазуа в 1 секунду. Скорость отдачи 10000 байт/сек
  19. sleep ( 1 );
  20. >
  21. fclose ( $f );
  22. ?>

Ссылка на закачку в этом случае будет выглядеть примерно так:

https://server/getfile.php?fname=secret_file.rar

Обратите внимание, что в этом скрипте не выполняется никаких проверок на наличие файла и корректность его имени и расположения, так что в плане безопасности он вообще никакой. Не вздумайте использовать скрипт в таком виде, он предназначен только для демонстрационных целей! Но теперь мы уже имеем следующее: можно регулировать скорость отдачи, через функцию connection_aborted проверяется состояние соединения, а из ссылки нельзя узнать фактическое расположение файлов, причем файл может располагаться вообще на другом сервере. Недостаток с отсутствием возможности докачки сохраняется. Также имейте в виду, что при маленькой скорости отдачи и большом объеме файла время выполнения скрипта может превысить максимальное время, установленное в настройках PHP на сервере. В этом случае его надо увеличить до неограниченного, но это возможно только если у вас свой выделенный сервер. Вряд ли какой хостинг-провайдер разрешит такие долгоживущие процессы на своих хостинговых серверах.

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

GET /filename.rar HTTP/1.0
User-Agent: Download Master
Accept: */*
Referer: https://server.com/
Range: bytes=2730210-
Pragma: no-cache
Cache-Control: no-cache
Host: server.com

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

HTTP/1.1 206
Date: Sat, 15 Aug 2009 20:41:27 GMT
Server: Apache/1.3.41 (Win32)
Accept-Ranges: bytes
Connection: close
Content-Disposition: Attachment; filename=filename.rar
Content-Range: bytes 9902214-13807860/13807861
Content-Length: 3905647
Content-Type: application/octet-stream

Добавилось поле Content-Range, показывающее нужный интервал и общий размер файла, а Content-Length содержит размер фрагмента файла от начала запрошенной позиции докачки до конца файла. Продублируем их в нашем скрипте:

  1. $fname = $_GET [ ‘fname’ ];
  2. $fsize = filesize ( ‘secret_data/’ . $fname );
  3. $fdown = ‘secret_data/’ . $fname ;
  4. // Установлена или нет переменная HTTP_RANGE
  5. if ( getenv ( ‘HTTP_RANGE’ )== «» ) <
  6. // Читать и отдавать файл от самого начала
  7. $f = fopen ( $fdown , ‘r’ );
  8. header ( «HTTP/1.1 200 OK» );
  9. header ( «Connection: close» );
  10. header ( «Content-Type: application/octet-stream» );
  11. header ( «Accept-Ranges: bytes» );
  12. header ( «Content-Disposition: Attachment; filename=» . $fname );
  13. header ( «Content-Length: » . $fsize );
  14. while (! feof ( $f )) <
  15. if ( connection_aborted ()) <
  16. fclose ( $f );
  17. break;
  18. >
  19. echo fread ( $f , 10000 );
  20. sleep ( 1 );
  21. >
  22. fclose ( $f );
  23. >
  24. else <
  25. // Получить значение переменной HTTP_RANGE
  26. preg_match ( «/bytes=(\d+)-/» , getenv ( ‘HTTP_RANGE’ ), $m );
  27. $csize = $fsize — $m [ 1 ]; // Размер фрагмента
  28. $p1 = $fsize — $csize ; // Позиция, с которой начинать чтение файла
  29. $p2 = $fsize — 1 ; // Конец фрагмента
  30. // Установить позицию чтения в файле
  31. $f = fopen ( $fdown , ‘r’ );
  32. fseek ( $f , $p1 );
  33. header ( «HTTP/1.1 206 Partial Content» );
  34. header ( «Connection: close» );
  35. header ( «Content-Type: application/octet-stream» );
  36. header ( «Accept-Ranges: bytes» );
  37. header ( «Content-Disposition: Attachment; filename=» . $fname );
  38. header ( «Content-Range: bytes » . $p1 . «-» . $p2 . «/» . $fsize );
  39. header ( «Content-Length: » . $csize );
  40. while (! feof ( $f )) <
  41. if ( connection_aborted ()) <
  42. fclose ( $f );
  43. break;
  44. >
  45. echo fread ( $f , 10000 );
  46. sleep ( 1 );
  47. >
  48. fclose ( $f );
  49. >
  50. ?>

Теперь скрипт поддерживает докачку в случае обрыва связи и закачку файла в несколько потоков. Можно начинать добавлять к нему всякие навороты: например, проверять регистрацию или права доступа пользователя, регулировать количество соединений с одного ip-адреса, поддерживать докачку, изменять скорость отдачи для премиум-пользователей, проверять cookies после посещения основного сайта и все, что только можно придумать. Это я оставляю целиком на вашу фантазию. Последний штрих — преобразование ссылок через файл .htaccess и модуль Apache mod_rewrite. Например, ссылка будет иметь вид:

https://server/download/secret_file.rar

В файле .htaccess прописано правило для mod_rewrite:

RewriteEngine on
Options +FollowSymlinks
RewriteRule ^download\/(.*)$ getfile.php?fname=$1 [L]

И ссылка преобразуется в уже знакомую нам

https://server/getfile.php?fname=secret_file.rar

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

Options -Indexes
Deny from all

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

В приложении рабочий скрипт антилича из этой статьи с настроенной структурой папок. Запускать его, естественно, надо только на локальном или удаленном web-сервере с поддержкой mod_rewrite и .htaccess

Мастер Йода рекомендует:  Инструмент fairseq от Facebook выполняет машинный перевод в 9 раз быстрее других систем

Как защитить сайт от тотального скачивания. PHP

Это, ужо извини, никак. Раз оно ко мне в браузер как-то попало, то и на диск я его тем или иным образом сохраню, будь уверен.

Добавлено 29.10.05, 07:02
Хотя, впрочем, есть способ. Убрать сайт из интернета.

По-моему на PHP или C++ можно написать прогу, которая отправляет юзеру страницу как картинку . Только и с картинки можно текст распознать .
Лучше выработай равнодушное отношение к тем, кто качает сайты .

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

А браузер-то и подделать можно

Меня вообще веселит такое отношение: «Я хочу выложить в инет инфу, которую нужно защитить от скачивания.» Зачем тогда выкладывать.

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

(придется только делать регистрацию и модернизировать движок).

только тут нужно проанализировать — окупятся ли затраты.

Добавлено 10.04.07, 14:16
еще можно подумать в сторону автоматического определения слишком активного ip адреса (много запросов в единицу времени) — и редиректить его куданибудь. или не редиректить, а просто сказать что хочется.

Добавлено 10.04.07, 14:20
но и в этом случае скачать сайт тоже можно, просто качать немного медленнее

короче совсем запретить нельзя, можно лишь балансировать на острие, имея шанс навредить себе.

Добавлено 10.04.07, 14:22
хотя есть один самый лучший способ
это сделать полезный сайт, где всегда свежая информация.

IntSystem.org

Случаи из опыта разработки различных WEB проектов. Интересные факты, статьи, впечатления. Программирование и все о нем в сфере WEB.

Концепт защиты PHP сайта

Все мы, так или иначе, хотели бы быть уверенны в том, что наш сайт или блог никто не сможет взломать. Но увы, реальность такова, что любая система уязвима, как бы сильна она не была бы защищена. Все упирается лишь в ресурсы и в упорство взломщика… Хм… Что то меня не туда потянуло… Будем считать это предисловием =)

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

Хорошо, или допустим вы из тех кто считает что безопасность и правильная настройка сервера лишней не бывает? Если так то добро пожаловать под кат.

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

Данная идея у меня давно сидела в голове, но наконец у меня дошли руки, хоть ничего сложного тут и нету, и я смог эту систему реализовать и написать статью =)

Принцип работы

Как я уже говорил выше, система основанна на работе директивы auto_prepend_file в php.ini. Отвечает она за установку скрипта, который будет выполнятся ПЕРЕД выполнением основного.

К примеру вы открыли index.php, а перед его выполнением запускается файл, указанный в auto_prepend_file. Суть в том, что в этом скрипте мы сможем контролировать дальнейшую работу остальных скриптов. Грубо говоря, продолжить работу и запустить запрошенный скрипт, или завершиться сразу (die()).

К примеру ситуация — злоумышленник залил на ваш сайт шелл через какую нибудь уязвимость и пытается его открыть в браузере. А вместо его шелла, ему, без всяких на то причин, отдается, вот такая вот ошибка:

Меня бы подобное ввело бы в ступор…

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

(Не знаю нужна ли эта диаграмма, вроде бы и так все должно быть понятно…)

Конечно составлять такой список вручную — дело не благородное, поэтому я пришел к выводу, что имеет смысл реализовать так называемый «режим обучения». Режим в котором все обращения ко всем скриптам будут заносится в список разрешенных файлов автоматически.

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

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

Что умеем

Так как это концепт, то и умеем мы не много.

  • Блокирование неразрешенных скриптов (собственно основная функция). Но опять же это настраиваемо, можно не блокировать соединение, а только лишь уведомлять админа по email
  • Уведомление о нелегитимных запросах администратору по email (краткий отчет или полный отчет, последний включает заголовки пакета и данные POST запроса если таковые имеются)
  • Можно указать IP администратора, который будет иметь доступ к любым скриптам, т.е. данная система его затрагивать не будет (эти IP не будут участвовать в режиме обучения). К примеру теперь не надо закрывать .htaccess-ом софтины типа PhpMyAdmin, SupexDumper и прочие системные утилиты.
  • Ксати Ip адреса поддерживают простенькие маски=)
  • Полностью прокомментированный код, и подробно описанна каждая директива конфигурации
  • Хз что еще…

Настройка

Теперь о том как встроить эту защиту в ваш сайт…

Для этого вам необходим доступ к файлу php.ini

  1. Для начала скачиваем сам скрипт: PrependSecuritySystem
  2. Распаковываем содержимое архива (data.txt и main.php) в какую либо папку на сервере, желательно в папку не доступную из веба (не обязательно, т.к. работать будет в любой, это имеет смысл чтобы убрать скрипт подальше от глаз взломщика)
  3. Открываем файл main.php и редактируем настройки. Необходимо обязательно поменять ip адрес и email админа. Остальные настройки же — по вашему желанию.
  4. Устанавливаем права доступа к распакованным файлам. Под никсами желательно изменить владельца для обоих файлов, отличного от пользователя из под которого работает веб сервер. Для файла main.php необходимо запретить запись для всех. Для файла data.txt необходимо установить права на чтение и на запись для всех (это временно, на период обучения)
  5. Открываем php.ini и вписываем следующее:
    auto_prepend_file=[путь до распакованного файла main.php]
  6. С данного момента начинается обучение системы. Выжидаем определенное колличество времени, достаточное, по вашему мнению, для полного обучения данной системы.
  7. По окончанию обучения открываем файл main.php и редактируем костанту PSS_STATUS_BLOCK, устанавливаем ее значение в true, сохраняем
  8. Изменяем права доступа на файл data.txt. Запрещаем редактирование данного файла для всех.
  9. Теперь система перешла в режим блокирования неразрешенных скриптов

Многовато шагов, конечно, но с этим, как мне кажется, справится даже ребенок.

Если вам необходимо переобучить систему (с нуля или дополнить), то вам необходимо:

  1. Разрешить запись в файл data.txt
  2. Очистить содержимое data.txt (ТОЛЬКО если вам необходимо переобучить систему с нуля)
  3. Отредактировать костанту PSS_STATUS_BLOCK в файле main.php, установив ее значение в false
  4. Проводим переобучение…
  5. По окончанию переобучения редактируем константу PSS_STATUS_BLOCK устанавливая ее значение обратно в true
  6. Запрещаем запись файла data.txt

Ну а теперь о грустном

Лукавить я не буду, и теперь расскажу о недостатках.

  • Пожалуй главный недостаток по сравнению с которым меркнут все остальные, это то, что эту систему можно обойти. Вы спросите: как же так? Все очень просто, директиву auto_prepend_file можно указать и в .htaccess. И если подойти трезво то если злоумышленник вдруг смог залить шелл, то наверняка он сможет залить и свой .htaccess в котором он может отключить оригинальную директиву.
    Это работает только под apache, но к примеру под nginx этот трюк не выйдет (у nginx нет файлов .htaccess). НО! Под Nginx можно вообще залить свой php.ini в любую папку и в этой папке будут действовать новые директивы.
  • Злоумышленник может отредактировать «разрешенный» скрипт если есть допустимые права на это, и с этим наша система ничего, к сожалению, сделать не сможет. Разве что необходимо устанавливать правильные права на все исполнемые файлы
  • Помимо PHP есть еще всякие perl, cgi и прочее… с ними данная система не работает.
  • Дополнительная нагрузка. Но вртяли эта нагрузка будет ощутима.

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

Заключение

Все же, так или иначе, это концепт, может быть вы сможете придумать на ее основе что то лучшее. А может быть вас устроит моя система.

На мой взгляд разумной защиты много не бывает. Использовать что-либо подобное или нет, у вас на сайтах решать вам.

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

PS: хоть я и кодил максимально адекватно, скрипт может иметь баги. Тестировалось на win/apache/php 5.2 — все было ок.

Лучшие практики и рекомендации по защите php-приложений от XSS-атак

Лучшие практики и рекомендации по защите php-приложений от XSS-атак

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

Большинство уязвимостей связано с неправильной обработкой данных, получаемых извне, или недостаточно строгой их проверкой. Одной из таких уязвимостей является межсайтовое выполнение сценариев (Сross Site Sсriрting, XSS), которая может привести к дефейсу сайта, перенаправлению пользователя на зараженный ресурс, вставке в веб-ресурс вредоносного кода, краже COOKIE-файлов, сессии и прочей информации. Противостоять XSS своими сила поможет применение лучших практик и рекомендаций по безопасному программированию, о которых и пойдет речь ниже.

Лучшие практики и рекомендации:

1. Используйте экранирование входных\выходных данных. Применяйте встроенные функции для очистки кода от вредоносных скриптов. К ним относятся такие функции как htmlspecialchar(), htmlentities() и strip_tags().
Примеры использования:

Встроенные функции PHP, в отличие от самописных, работают гораздо быстрее, а также имеют меньше ошибок безопасности и уязвимостей, т.к. постоянно совершенствуются. Также рекомендуется использовать специальные библиотеки, построенные на основе встроенных функций и фильтров. В качестве примера можно привести OWASP Enterprise Security API (ESAPI), HTML Purifier, Reform, ModSecurity.
Для того чтобы библиотека работала правильно, её нужно предварительно настроить!


2. Используйте подход «белые списки». Подход работает по принципу «что не разрешено, то запрещено». Это стандартный механизм валидации полей для проверки всех входных данных, включая заголовки, куки, строки запросов, скрытые поля, а также длина полей форм, их тип, синтаксис, допустимые символы и другие правила, прежде чем принять данные, которые будут сохраненные и отображены на сайте. Например, если в поле нужно указать фамилию, необходимо разрешить только буквы, дефис и пробелы. Если отклонить все остальное, то фамилия д’Арк будет отклонена — лучше отклонить достоверную информацию, чем принять вредоносные данные.
К сожалению, со своей задачей встроенные фильтры валидации данных PHP не справляются, поэтому рекомендуется писать собственные фильтры и «допиливать» их по мере необходимости. Таким образом, со временем ваши входные методы фильтрации будут усовершенствованы. Стоит также не забывать, что существует слишком много типов активного содержимого и способов кодирования для обхода подобных фильтров. По этой же причине не используйте проверку по «черному списку».

3. Указывайте кодировку на каждой веб-странице. Для каждой веб-страницы необходимо указывать кодировку (например, ISO-8859-1 или UTF-8) до каких-либо пользовательских полей.
Пример использования:

или в файле .htaccess веб-сервера Apache дописать строчку:

Если в http-заголовке или в метатегах кодировка не указана, браузер пытается сам определить кодировку страницы. Стандарт HTML 5 не рекомендует использовать такие кодировки, которые включают JIS_C6226-1983, JIS_X0212-1990, HZ-GB-2312, JOHAB (Windows code page 1361), а также кодировки, основанные на ISO-2022 и EBCDIC. Кроме того, веб-разработчики не должны использовать CESU-8, UTF-7, BOCU-1 и кодировки SCSU. Эти кодировки никогда не предназначались для веб-контента[1]. В случае если тег расположен до тега и заполняется пользовательскими данными, злоумышленник может вставить вредоносный html-код в кодировке UTF-7, обойдя, таким образом, фильтрацию таких символов, как ‘ session.cookie_httponly = True

— в скрипте через функцию session_set_cookie_params() [3]:

— в веб-приложении через функцию setcookie() [4]:

Эта функция поддерживается последними версиями распространенных браузеров. Однако старые версии некоторых браузеров через XMLHttpRequest и другие мощные браузерные технологии обеспечивают доступ для чтения HTTP-заголовков, в том числе и заголовка Set-Cookie, в котором установлен флаг HttpOnly[5].

5. Использовать Content Security Policy (CSP). Это заголовок, который позволяет в явном виде объявить «белый список» источников, с которых можно подгружать различные данные, например, JS, CSS, изображения и пр. Даже если злоумышленнику удастся внедрить скрипт в веб-страницу, он не выполниться, если не будет соответствовать разрешенному списку источников.
Для того чтобы воспользоваться CSP, веб-приложение должно через HTTP-заголовок «Content-Security-Policy» посылать политику браузеру.
Пример использования:

‘Content-Security-Policy’ — это официальный http-заголовок, утвержденный W3C, который поддерживается браузерами Chrome 26+, Firefox 24+ и Safari 7+. HTTP-заголовок «X-Content-Security-Policy» используется для Firefox 4-23 и для IE 10-11, заголовок «X-Webkit-CSP» – для Chrome 14-25, Safari 5.1-7[6].

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

6. Регулярно проводите анализ безопасности кода и тестирование на проникновение. Используйте как ручной, так и автоматизированный подходы. Такие инструменты как Nessus, Nikto и OWASP Zed Attack Proxy помогут обнаружить уязвимости XSS в вашем веб-приложении.

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

Автор статьи: Внештатный сотрудник PentestIT, Сергей Сторчак

Как защитить сайт от вирусов и взлома

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

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

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

Как вирусы попадают на сайт

Чтобы понять, как защищать, важно знать, откуда берутся вирусы. Основные пути заражения:

  • скачивание и установка непроверенных программ с внедренными вредоносными элементами, цель которых — перехват доступа к протоколам CMS и/или FTP с их дальнейшей обратной отправкой;
  • посещение зараженных порталов;
  • автоматический или ручной подбор логина и пароля злоумышленниками, используемые для входа на сервер или CMS, и заражение изнутри с помощью прописанного кода;
  • использование шаблонов, плагинов и других компонентов с уязвимыми местами и дырами, через которые можно управлять ресурсом;
  • действия пользователей, оставляющих вредоносный контент (ссылки, файлы);
  • размещение рекламы от непроверенных источников и партнеров;
  • доступ через специальные файлы внутри сайта, например, adminer.php. Это утилита для быстрого доступа к базе данных, позволяющая при подборе пароля подключиться и заполучить доступ.

Помимо этого, взломать сайт можно из-за халатности специалистов, их неопытности или недостатка знаний, неправильного хранения информации. Не стоит исключать и прямую передачу сотрудниками (умышленно или неумышленно) конфиденциальной информации сторонним людям.

Что может получить взломщик и последствия от взлома сайта

Разработчики, продавцы вредоносного ПО и хакеры при взломе или заражении сайта вирусами получают доступ к важной информации и могут использовать ресурсы хостинга:

Что получат Чем грозит вам
Пароли Частичная или полная потеря контроля над ресурсом, финансами и базой данных
Клиентская база (email пользователей и другие данные) Рассылка пользователям спама для получения материальных выгод
Платежные данные пользователей Заманивание клиентов на подставные страницы для кражи учетных записей от аккаунтов банков, платежных систем и сервисов для получения доступов, паролей, конфиденциальных данных, которые нужны для успешного проведения финансовых операций. Это убытки и потеря доверия клиентов
Возможность использовать сайт для рекламы На страницах веб-ресурса будет появляться реклама, приносящая доход злоумышленникам, а вам неудобства и возмущения пользователей
Возможность проведения атак на другие сайты Ресурс используется в качестве прокси-сервера, через него осуществляют атаки для заражения других сайтов и получения хранящейся там информации. Так, взломщики подсаживают агентов-ботов и с их помощью проводят DDOS или брутфорс-атаки на ресурсы-жертвы.

Взлом менее защищенных «соседей»: иногда на хостинг-аккаунте размещают несколько сайтов на различных CMS. При этом одни могут быть защищены, а другие — иметь уязвимые места, скомпрометировав которые легко добраться до защищенного ресурса Доступ к мобильным редиректам С сайта идет перенаправление на сервисы и wap-click партнерские программы, предлагающие платную подписку за услуги или товары Управление сайтом и перенаправление пользователей на зараженные страницы Внедряется код для перенаправления посетителей на специальную страницу. Если на компьютере или телефоне пользователя есть слабые места, то его устройство заражается трояном, а после в него подгружаются более серьезные вредоносные коды.

Как следствие — получение хакерами паролей, доступов, платежных данных, сведений. Также злоумышленники внедряют агрессивную рекламу с частым перенаправлением на маркеты или другие площадки

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

  • ощутимое сокращение трафика из-за потери доверия и ухудшения репутации;
  • санкции со стороны поисковых систем: роботы регулярно мониторят безопасность ресурсов для выявления вирусов и предотвращения заражения устройств пользователей. Если вредоносные компоненты есть — в сниппете появляется отметка: Так выглядит отметка о возможной угрозе

Естественно, посетители будут обходить сайт стороной, и как следствие, он пессимизируется или его вовсе удалят из выдачи;

  • потеря денежных средств владельцев или клиентов.

Виды взлома сайта

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

SQL-инъекция

Цель: получить доступ к информации из баз данных. Так, злоумышленник получает возможность просматривать, изменять, добавлять, удалять данные, записывать и скачивать локальные файлы.

Как реализуется: на странице с первоначальным SQL-запросом код составляется таким образом, что при выполнении одного действия, выполняется то, что изначально в нем не заложено. При этом код не нарушает структуру запроса. SQL-инъекции возможны, если не проверять принятые от пользователя сведения.

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

Шеллы

Цель: полный доступ к сайту.

Как реализуется: через уязвимые места атакующий оставляет коды, внедряет программы или скрипты, обеспечивающие доступ к командной строке, файлам, данным. Например, почти у каждой CMS в административной панеле есть файловый менеджер, но проверяют его безопасность единицы. Хотя у него есть полные права на запись новых файлов на сайт. И если обратиться по прямой ссылке именно на файл-менеджер, то в старых системах открывается диалог для загрузки файла на сервер.

Уязвимые места: все формы для ввода данных, легкие пароли, использование небезопасных соединений, в том числе и общественные Wi-Fi.

XSS-атака

Цель: получение доступа к cookies и возможность сделать сайт неработоспособным.

Как реализуется: через ввод данных от пользователей отправляется вредоносный код.

Уязвимые места: формы регистрации, подписки, обратного звонка, заявки на заказ, чаты, комментарии.

Взлом через FTP или SSH

Цель: получить доступ к админке.

Как реализуется: войти в административную панель можно двумя способами. Первый — через подбор пароля к FTP-клиенту. Второй — перехват SSH-трафика.

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

Взлом phpMyAdmin

Цель: доступ к базам данных — чтение, изменение, кража, а также внедрение кода в шаблон для дальнейшего получения выгод.

Как реализуется: подбором логина и пароля к формам входа. Адрес инструмента практически всегда фиксированный — имя_сайта/myadmin или имя_сайта/phpmyadmin. Стоит набрать его и откроется форма авторизации, для которой подобрать пароль, чаще всего, вообще не проблема из-за очень простых комбинаций.

Уязвимые места: расположение формы для авторизации на стандартном адресе, плюс простой пароль.

Взлом через соседей по хостингу

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

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

Уязвимые места: незащищенные соседи по хостингу.

Брутфорс панели администратора

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

Как реализуется: когда у хакеров не получается взломать CMS, они могут начать искать менее защищенные места. Для этого подбираются пароли и логины для входа в административную панель сайта.

Уязвимые места: форма авторизации в админку и очень легкие данные для входа. Простые комбинации цифр, даты, последовательное введение букв согласно раскладке клавиатуры попадают в топ популярных и вычисляются за 2–3 часа.

Уязвимости в скриптах плагинов и CMS

Цель: получить полный доступ ко всем данным сайта, воспользоваться конфиденциальной информацией, загрузить шелл-код и взять контроль над аккаунтом, закрыв его для владельца.

Как реализуется: если разработчики допустили ошибку или решили, что «и так сойдет», злоумышленники могут найти пробоину и воспользоваться ее, чтобы прописать вредоносный код или украсть данные.

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

Dos и Ddos-атаки

Цель: заблокировать сайт, остановить работу некоторых функций, «закрыть» отдельные страницы, а как следствие — подорвать репутацию компаний.

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

Как реализуется: Ddos-атаки — не взлом сайта как таковой. Атака заключается в одновременном поступлении большого количества запросов на сервер, которое он не в состоянии обслужить. Результат — ресурс виснет и перестает работать.

Уязвимые места: слабый сервер, незащищенное соединение.

Как бороться с каждым из видов атак рассмотрим ниже.

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

Методы защиты сайта

Все способы защиты делят на три большие группы:

Все методы защиты ресурса

Защита CMS

CMS — система управления сайтом и всей информацией на нем. Это сердце, а потому защита начинается именно с него. Используйте следующие методы и максимально обезопасьте ресурс.

SSL-сертификат

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

  • доменное имя;
  • сведения про юридическое лицо, на которое оформляется сертификат;
  • реальное местонахождение владельца;
  • срок действия;
  • основные данные о поставщике сертификата.

С помощью этой подписи вы подтверждаете, что домен принадлежит реальной компании, а владелец использует секретный ключ законно.

Сайт защищен SSL от фишинг атак, целью которых — получение паролей, кодов, данных для входа, номеров кредитных и депозитных карт, личных данных:

  • SQL-инъекций;
  • шеллов;
  • взлома phpMyAdmin;
  • взлома через соседей по хостингу.

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

Где получить

Есть два способа получить SSL-сертификат: обратиться к провайдеру, предоставляющему поддержку SSL, или в центр сертификации.

Например, для сайтов, размещенных на сервисах Google (Google Мой бизнес, Blogger), а также для тех, кто сотрудничает с партнерами (Bluehost, Shopify, Weebly, Wix), сертификат выдается бесплатно.

Если обращаться в специализированные компании для сертификации, придется потратиться — до 100 $.

Читайте подробнее в статье о SSL-сертификатах.

Обновление движка сайта

Одно их важных условий безопасного функционирования ресурса — регулярное обновление CMS. Каждая новая версия движка устраняет ошибки и закрывает незащищенные места, через которые легко взломать сайт.

Обновление поможет избежать атак через уязвимость в скриптах плагинов и CMS. Это не гарантирует 100-процентную защиту, но минимизирует риск возникновения такого форсинга, как:

Важно! Обновление происходит либо автоматически за счет самой системы, либо вручную. Отслеживать новые версии можно с помощью рассылки или RSS-канала.

Чаще всего CMS уведомляет пользователей о доступных версиях при входе в админку:

Вот так это выглядит у WordPress

Нажав на Please update now (Обновить сейчас), вы запустите автоматическое обновление. Для успешного полного апгрейда система перенаправит вас на страницу Updates для обновления плагинов, если это нужно.

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

Использование проверенных скриптов

Часто в плагинах и программах находятся трояны в виде вируса, бэкдора или шелла.

Как защитить сайт от взлома? Только тщательная проверка источников и использование лицензированных компонентов помогут избежать «падения» ресурса. Если загружаете программы и скрипты, выбирайте только официальные источники разработчиков и поставщиков.

Пароли

Не используйте простые пароли или пароли с соцсетей, которые злоумышленники смогут подобрать программно.

Важно!

Создавайте пароли с помощью программ генераторов паролей (пример такого сервиса описан далее в статье) и меняйте их с регулярностью в несколько месяцев.

Плагины и скрипты защиты

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

Приведем несколько примеров популярных плагинов для WordPress с ценами актуальными на август 2020 года:

Плагин, предлагающий 30 видов защиты от:

  • SQL-инъекций;
  • шеллов;
  • XSS;
  • взлома через FTP или SSH;
  • взлома phpMyAdmin;
  • взлома через соседей по хостингу;
  • взлома через уязвимости в движке;
  • брутфорс-атак и ботов, ищущих уязвимости ресурса;
  • защита от Ддос-атак на сайт.

iThemes Security находит бреши и подбирает способы их устранения, отражает любые атаки на файловую систему и базы данных, информируя вас об изменениях. К тому же плагин может менять IP пользователя, адрес админки, входа на сайт, путь к папке wp-content. С его помощью создаются бэкапы для быстрого восстановления утраченных данных.

Панель инструментов для настройки безопасности iThemes Security

Такая защита сайта от вирусов есть в бесплатной и платной версиях от 80 до 200 $ в год в зависимости от количества ресурсов.

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

Доступен обзор уведомлений, статистика атак, статус.

  • SQL-инъекции;
  • шеллы;
  • XSS;
  • взлом через FTP или SSH;
  • взлом phpMyAdmin;
  • взлом через соседей по хостингу;
  • взлом через уязвимости в движке;
  • а также обеспечивает защиту сайта от Ddos-атак.

Стоимость — бесплатно, но есть премиум версия за 8,25 $ в месяц.

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

Противостоит и выявляет:

  • Dos и Ddos-атаки;
  • SQL-инъекции;
  • шеллы;
  • XSS-атаки.

Так выглядит страница, если были обнаруженные добавленные, измененные, удаленные файлы

Плагин совместим с WordPress, Joomla, Drupal, Magento и другими платформами и CMS.

Стоимость — от 200 $ в год.

Чтобы найти плагин для своей CMS, ищите по запросу «плагин для защиты сайта + название вашей CMS. Среди вариантов выбирайте наиболее популярный, с хорошими отзывами, широким функционалом и максимальным набором отображаемых атак.

Защита сервера

Для того чтобы сервер не был доступен для злоумышленников, выполняйте следующие меры предосторожности:

1. Ограничивайте пользователей в правах на доступ к базе данных.

Не давайте непроверенным людям прав доступа и пароли для входа в административную панель, возможность добавлять HTML-код. Проверяйте правильно ли настроены права к директориям, важным файлам и скриптам.

Если говорить о настройке прав на чтение и запись в папках, то большинство хостингов рекомендует права уровня 755 для папок и 644 только для файлов.

Это позволяет максимально эффективно защитить файлы: никто, кроме владельца, не может редактировать, перемещать, удалять файлы.

Права настраиваются с помощью хостинга или при подключении к сайту по SSH или FTP. В программе FileZilla нажимаем правой кнопкой мыши на нужном файле, и выбираем пункт «Права доступа к файлу».

Пример настройки прав по FTP. Шаг 1

А дальше указываем нужные права:

Пример настройки прав по FTP. Шаг 2

Это поможет бороться с:

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

2. Отслеживайте, что вводит пользователь на сайте.

Справятся с этим специальные плагины, например, Wordfence.

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

3. Постоянно меняйте пароли.

А создавая новый, учтите основные принципы надежности:

  • сложный набор цифр и букв;
  • очень длинный пароль — от 30 символов;
  • уникальные комбинации, нигде не применяемые;
  • не используйте имена, даты дней рождений, клички животных, телефонные номера, номера карт, паспортные данные;
  • не сохраняйте пароли в панели браузера или FTP клиенте, в почте или мессенджерах.

Создать сложный пароль помогут онлайн-генераторы. Вот так, например, работает «Генератор Безопасных Паролей»:

Галочками отмечаете параметры и жмете «Генерировать пароль»

Изменить пароль можно через админку. Например, путь в WordPress — «Пользователи» → «Ваш профиль» → «Новый пароль»:

Изменение пароля в WordPress

Поменять пароль в других платформах можно по такому же принципу.

Регулярная смена пароля сведет к минимуму такие попытки атак:

  • SQL-инъекции;
  • шеллы;
  • взлом phpMyAdmin;
  • взлом через брутфорс панели администратора;
  • взлом через FTP или SSH.

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

У большинства хостингов есть возможность делать копии сайта. Для этого нужно зайти в панель управления, найти эту функцию и следовать инструкциям. Возьмем для примера хостинг ukraine.com.ua:

Во вкладке «Аккаунт» есть кнопка «Резервное копирование» Можно заказать новую копию или восстановить предыдущую версию Важно выбрать тип бэкапа И базу данных

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

Например, для WordPress есть такие плагины, как BackUpWordPress, BackWPup, BackupBuddy, Backup by Supsystic и очень много других. Выбирайте в зависимости от ваших задач, размера сайта, функциональных возможностей.

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

Совет! Создавайте бэкапы регулярно: хотя бы 2 раза в месяц и обязательно перед каждым обновлением движка.

Резервное копирование не защитит от взлома или вирусов, но поможет восстановить ресурс в случае потери данных или контента.

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

Это не поможет защитить сайт от хакерских атак, но как минимум усложнит злоумышленникам задачу.

6. Закройте доступы к хостингу, кроме своего IP.

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

Order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx,

где xxx.xxx.xxx.xxx — ваш IP.

А таким кодом мы говорим, системе, какие IP не следует «пропускать»:

Order allow,deny
allow from all
deny from xxx.xxx.xxx.xxx

Важно!

Учтите, ваш IP должен быть статическим. Если он поменяется, у вас также возникнут проблемы с доступом на сайт.

7. Установите двухфакторную верификацию на вход или сделайте вход с подтверждением личности.

Функции устанавливается только на хостинге. Бывает вход по смс или вход через PUSH-сообщение.

Защита ПК

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

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

Из рейтингов Роскачества и ICRT и СофтКаталог самыми надежными и популярными антивирусами являются:

Как узнать заражен ли вирусом сайт?

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

Проверяют состояние ресурса онлайн-сервисами, вручную через сканирование антивирусом на ПК и через панель вебмастеров в Яндексе и Google.

Онлайн-сервисы

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

Рекомендуем:

Antivirus-alarm работает на основе известных и зарекомендовавших себя антивирусов — NOD32, Symantec, Avast, DrWeb, Panda, Kaspersky и других. Проверка бесплатная.
Сервис проверяет, обеспечивает защиту сайта от ботов, лечит и создает бэкапы. Процесс занимает мало времени: у нас на это ушло 5 минут.

Проверка проходит так:

  1. Заходите на главную страницу сервиса, нажимаете «Проверка».
    В окошко вводите адрес сайта, анализ которого требуется.
  2. Ввод адреса ресурса для проверки

Ввод адреса ресурса для проверки
Ждете результат:

Результат проверки Antivirus-alarm

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

Проверка занимает не больше 3-х минут:

  1. Заходите на главную страницу — выбираете тип проверки. Мы анализировали ресурс полностью.
  2. Результат предоставляется в таблице. Подробности можете посмотреть в «Деталях»:

Результаты представлены в общей таблице

По такому же принципу работают и другие онлайн-сервисы:

ReScan.Pro — бесплатный сканер сайтов. Проверяет наличие вирусов, попытки взлома и другие проблемы безопасности:

  • скрытые редиректы;
  • зашифрованные скрипты;
  • шпионские вставки;
  • вирусные загрузки;
  • спам-атаки;
  • несанкционированное перенаправление;
  • ошибки на сайте.

Можно настроить автоматическую проверку ресурса.

2ip.ru — сервис, помимо поиска вредоносного ПО и попыток взлома, роверит:

  • скорость интернет-соединения;
  • время загрузки страниц;
  • информацию о домене, системе управления сайтом;
  • доступность ресурса и посещаемость;
  • отдельные файлы на наличие вирусов;
  • SSL и другое.

Sucuri не только защитит ваш сайт от возможных атак, но и просканирует его на наличие спам-ссылки, дорвей-страниц, вредоносных скриптов, изменения в коде. Кроме того, сервис проверяет актуальность вашей CMS.

Узнав слабые места, вы защитите ресурс от несанкционированных атак.

Важно!

Сервисы работают с ошибками: результаты порой бывают неактуальными, и найденные вредоносные коды не являются вирусами.

А потому обязательно перепроверяйте данные и то, что сервис определил как угрозу. В этом случае вам поможет или разработчик сайта, или человек, который знает систему. Например, специалист по WordPress, Joomla, Bitrix и так далее. Процесс достаточно трудоемкий, так как иногда файлы, которые помечены как вирус, — новый функционал сайта, и сразу сложно определить выполняется что-то вредоносное или же это нужная функция на сайте.

Антивирусы на компьютере

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

Покажем процесс проверки на примере Avast:

    Откройте антивирус, перейдите на вкладку «Защита» → «Антивирус»:

Панель управления антивирусом Avast
Кликните на «Выборочное сканирование» и выберите нужную папку или файл:

Выбор способа сканирования
Проверка займет от пары минут до нескольких часов в зависимости от размера файлов и папок:

Процесс проверки
Дождитесь результатов сканирования:

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

Панель вебмастеров в Яндекс и Google

Узнать, есть ли вирусы на сайте, помогут и панели вебмастеров в Яндекс и Google.

Сообщения о взломе в Яндекс Вебмастере будут доступны на вкладке «Диагностика» → «Безопасность и нарушения»:

Проверка на взлом и нарушения на сайте в Яндекс Вебмастер

Проверка в Google Вебмастере доступна на вкладке «Проблемы безопасности»:

Способ проверки в Google Search Console

Что делать, если сайт заражен?

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

1. Сразу же и в обязательном порядке изменить пароли к файлам и административной панели. Это можно сделать в настройках админки.

2. Проверить доступы и права, закрыть их при необходимости. Возможность управлять сайтом предоставляется через Яндекс Вебмастер или Google Search Console, закрыть доступ также можно через эти сервисы.

3. Поиск вредоносного кода можно проводить самостоятельно через Вебмастер (описывали выше) либо обратиться в техподдержку хостинга.

4. Проверить .htaccess из корня папки. Часто через этот код злоумышленники перенаправляют посетителей на другие сайты. Как правило, он имеет такой вид:

RewriteEngine On
RewriteCond % .*yandex.* [OR]
RewriteCond % .*google.* [OR]
RewriteCond % .*bing.* [OR]
RewriteRule ^(.*)$ https://имя_стороннего_сайта/index.php?t=6 [R=301,L].

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

Удалить опасное ПО также помогут антивирусы и онлайн-сервисы: после проверки каждый инструмент предлагает «лечение» и дальнейшую защиту.

5. Если не удалось стереть вредоносные коды и удалить вирусы, воспользуйтесь бэкапом, который вы делаете как минимум 2 раза в месяц, для восстановления утраченных или измененных информации и данных. Это один из самых надежных способов вернуться к исходной точке.

6. Обратиться в техподдержку. Там подскажут решение именно вашей проблемы.

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

Защита от скачивания произвольных файлов

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

Как реализовать сие средствами Битрикса?

Права на раздел или папку не срабатывают.

если набрать в строке браузера
https://сайт/download, то получим доступ ко всем файлам (не .php) в этой папке и всех вложенных папках.
И никакие запреты, выставленные в правах доступа не действуют.

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

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

Сергей Михайлов
в папке download внутри папки files лежит .htaccess который запрещает доступ по прямым ссылкам ко все файлам этой папке.

в папке download лежит .htaccess который перенаправялет 404 ошибку на файл download.php, который и отдает спрятанный в подпапке files файл.

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

А у меня отдается.

Понял, спасибо. Значит WEB сервер воду мутит.

Буду разбираться с ним.

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

Решение очень простое.

В защищаемый каталог с файлами кладем .htaccess с вот таким содержимым:

Код

Никакие функции Битрикса тут не используются вообще.

Тотальная защита WordPress от взлома и мошенников

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

Содержимое статьи:

Что нам потребуется для тотальной защиты WordPress?
Создание двойной авторизации от взлома админки
Ставим лимиты на попытки авторизации пользователей
Плагин Belavir полная информация о всех изменениях на блоге
Закрепляем Тотальную защиту нашего WordPress

Как защитить свой блог на WordPress от взлома без сложных настроек php кода. Сегодня для защиты сайта на ВордПресс существуют тысячи плагинов как выбрать необходимые из множества и нужно ли это делать… Давайте ответим на этот вопрос.

На самом деле для тотальной защиты блога на WordPress не нужно устанавливать кучу плагинов которые будут тормозить ваш блог и самое главное могут просто заблокировать вас самих так, что придется обращаться к специалистам. Совершенно ни к чему устанавливать множество мощных и тяжёлых плагинов для защиты сайта так же как и перерабатывать тонну php кодов.

В данном уроке мы с вами защитим наш сайт тотально, но при этом сделать это сможет каждый (даже чайник и возможно самовар) а займет это у нас не более 25-30 минут. Давайте преступим.

Что нам потребуется для тотальной защиты WordPress?

Как правило, в 90% случаев взлом сайтов происходит через взлом пароля администратора сайта и вход через админку, так давайте её заблокируем от всех остальных кроме нас.

Для защиты нашего сайта мы будем использовать всего 4 легких плагина Limit Login Attempts Reloaded, TAC, Antivirus, Belavir и сервис Htaccesstools.

  1. Htaccesstools — создает двойную авторизацию для входа в административную панель.
  2. Limit Login Attempts Reloaded — позволит лимитировать попытки входа в админку.
  3. AntiVirus — проверяет наш сайт на наличие вирусов и подозрительных кодов.
  4. Belavir — все изменения в структуре сайта будут всегда на глазах.
  5. TAC — проверяет наличие скрытых ссылок в теме нашего сайта.

Давайте непосредственно к делу — начнем работу…

Создание двойной авторизации от взлома админки

Для создания двойной авторизации нам понадобится немного поработать с файлами нашего сайта через FTP или Hosting кому как удобнее. Нам будет необходимо создать несколько файлов в корневой директории нашего блога (если кто-то не знает это папочка public_html/ ):

  • . htpasswd — в данном файле будет храниться наш дополнительный логин и пароль для доступа к главной страницы авторизации ВордПресс.
  • Path.php — в данном файле находится (создается) код который поможет вам узнать путь до корневой директории сайта ВордПресс

Все необходимые файлы и коды для работы можете скачать одним архивом…

Итак, преступим. Создайте в корневой директории сайта пустой файл с названием .htpasswd, и файл path.php с кодом:

(при копировании данного кода необходимо удалить все цифры 2) или возьмите готовый файл из архива.

После того как мы создали оба этих файла — переходим на сервис «htaccesstools» нам необходима вот эта страница: www.htaccesstools.com/htpasswd-generator/ открываем её и производим регистрацию.

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

Если все прошло нормально, вам откроется форма с кодом который необходимо скопировать.

Код который мы получили необходимо добавить в ранее созданный нами файл .htpasswd — открываем, вставляем, сохраняем.

Тотальная защита wordpress блога продолжаем. Теперь в браузере вводим адрес нашего сайта и название добавленного нами ранее файла path.php: https://Ваш сайт/path.php открываем и получаем полный путь до корневой директории нашего блога .

Далее нам необходимо найти файл .htaccess и создать в нем в самом начале (фото), подобный код:

AuthUserFile «путь_к_файлу/.htpasswd»
AuthName «Private access»
AuthType Basic

Require valid-user

где вместо текста путь_к_файлу вставляем наш полный путь до корневой директории нашего блога и сохраняем. Готово. Теперь для того чтобы нам попасть на страницу авторизации нашего блога нам необходимо для начала авторизоваться в браузере.

Видео-инструкция (урок) «Как сделать двойной вход в админку блога WordPress?».

Ставим лимиты на попытки авторизации пользователей

Лучший плагин для тотальной защиты wordpress в принципе можно сказать что это в какой-то мере так, ну да ладно, давайте ближе к настройкам. Все, как обычно, скачиваем плагин из официального депозитария Плагины → Добавить новый, в поиске плагинов вставляем «Limit Login Attempts Reloaded» находим, устанавливаем, активируем.

Переходим в настройки, открываем плагин Limit Login Attempts.

В настройках плагина все предельно просто:

Статистика:

  • Про этот пункт даже нет смысла что-то писать. Здесь просто cnfnbcnbxtcrbt статистические данные о всех неудачных попыток входа в административную панель блога.

Изоляция:

  • Поле 1 «Разрешено дополнительных попыток» : количество попыток ввести пароль после которого пользователь будет заблокирован на время — лучше ставить 3 — 4 попытки защита сайта на wordpress при помощи ограничения попыток авторизации это очень эффективный способ от DoS атак на административную часть блога.
  • Поле 2 «Изоляция в минутах» : определяем на какое время пользователь будет заблокирован после нескольких неудачных попыток входа — лучше вводить 60 минут.
  • Поле 3 «Изоляция повысить время изоляции до» : если пользователь был заблокирован после нескольких попыток и через определенное время (поле 2) опять не смог войти он блокируется еще на дополнительное время — оптимальный вариант от 12 до 24 часов.
  • Поле 4 «Часов до сброса количества попыток» : количество прошедшего времени после всех блокировок (поле 1, 2, 3) пользователя, время спустя которое вся информация по данному пользователю будет удалена из списка неудачных входов — достаточно 5 — 10 часов.

Сообщать об изоляциях

  • Записывать IP : сохранение информации об IP-адресе пользователя пытавшегося войти на сайт.
  • Отправить емейл админу : определение после какого числа полного круга блокировки на емейл владельца сайта придет сообщение о попытках входа в админ.панель.

Белый список IP

  • Последний пункт Whitelist (IP) : Белый список IP-адресов к которым не надо применять данные ограничения по попыткам войти, в данное поле стоит вписывать свои IP-адреса если они у вас статичные , если динамичны то смысла вписывать их сюда нет.

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

Плагин Belavir полная информация о всех изменениях на блоге

Плагин для защиты wordpress Belavir единственный плагин который нельзя скачать из официального репозитория WordPress, но при этом довольно популярный и известный в интернете. Для установки плагина нам необходимо скачать его на сайте создателя. Страница плагина: https://blog.portal.kharkov.ua/2008/06/27/belavir/ ← качайте только с этой страницы .

Входим в наш ВордПресс. Далее: Плагины → Добавить новый → Загрузить плагин. Загружаем наш скаченный архив и жмем «Установить», активируем его.

Теперь на главной страницы административной панели (Консоль) у нас появилась скромная строчка «Целостность файлов не нарушена».

В принципе все, плагин установлен и работает. Теперь давайте поработаем с кодом, сделаем еще чуточку для тотальной защиты WordpRess. Открываем наш файловый менеджер через FTP или Hosting. Создаем в директории uploads (находится в папке wp-content) файл с название .htaccess, открываем его для редактирования, прописываем в нем такой код:

Allow from all

Deny from all

Далее сохраняем. Все готово.

Теперь обратите внимание. Откройте вашу консоль, обновите страницу, вы увидите информацию вместо надписи «Целостность файлов не нарушена» будет стоять сообщение «Целостность файлов нарушена» и показан список файлов в которых произошли изменения. Эти изменения произвели мы, а не какой-то посторонний человек — смело сбрасываем кэш . Теперь вы всегда будите в курсе где на вашем сайте произошли какие-то изменения и можете контролировать защиту сайта на wordpress при помощи плагина.

Если вы на своем блоге используете плагин кэширования то вам постоянно будет сообщаться что целостность файлов нарушена, созданы новые файлы и далее приблизительно такой код: /wp-content/cache/blogs/akciyxyz/wp-cache-akciya-xyz1af8d5dfeg3423f324f42fb13.php это не страшно , не стоит пугаться, но, проблема в том что кэширование сайта работает постоянно и у вас каждый день будет появляться информация о десятках новых файлов, каждый раз сбрасывать кэш вручную это геморройно, поэтому давайте добавим папочку с фалами кэширования в исключения плагина.

Откройте редактор плагина, это можно сделать по этому пути: Плагины → Установленные в меню плагинов находим «belavir» нажимаем «изменить».

Нам необходимо в функциях плагина xdir() произвести небольшие изменения, для этого находим такую строчку (должна находиться внизу кода):

if ($file == ‘.’ or $file == ‘..’) continue;

сразу под этой строчкой добавляем этот код:

if ($file == ‘Условное имя’) continue;

вместо условного имени нам необходимо вписать имя той папки которую плагин должен игнорировать — Как это сделать? Открываем нашу консоль и смотрим список наших измененных файлов. Выглядит это приблизительно так:

Смотрим по какому пути все эти файлы находятся, вот тут у нас найдено 2 пути:

То-есть во всех этих файлах путь один, он лежит через кэш (cache) либо путь идет до корня /blog/ либо до корня /meta/ но в любом случае оба эти пути проходят через имя которое стоит сразу после /wp-content/, это у нас /cache/ (в переводе с латинского произносится как: «кашэ́»). Тут становится понятно что все файлы и папки после кода /cache/ являются всего лишь файлами кэша, их то нам и надо проигнорировать.

Находим имя которое стоит после /wp-content/ копируем это слово «cache» (у вас может стоять другой путь до кэша — это зависит от плагина) и вставляем его вместо Условного имени , у вас должно получится так:

if ($file == ‘cache’) continue;

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

К слову сказать наверное кто-то уже слышал что это «Лучший плагин защиты wordpress» в сети есть такие мнения, но данный плагин без использования других средств защиты ничего особо не дает.

Закрепляем Тотальную защиту нашего WordPress

Теперь давайте скачаем два плагина Theme Authenticity Checker (TAC) и Antivirus.

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

Плагин TAC — позволяет вам узнать есть ли в вашей скаченной теме какие-то подозрительные и скрытые ссылки на сторонние ресурсы. Что позволяет найти такие ссылки и удалить их с сайта. Необходимо для того что поисковые роботы не индексировали данные ссылки, ведь мало куда они могут идти, хоть на сайты с вирусами хоть на порно-сайты для вашего блога это губительно. Этот плагин в основном необходим тем кто скачивает темы не из админки вордпресс, а с сайтов в интернете, обязательно проверьте свою тему на посторонние ссылки и удалите их если такие найдутся. В противном случае говорить о тотальной защите wordpress сайта нет смысла.

В плагине есть два типа сообщений это «Theme Ok» что означает с темой всё в порядке и «Encrypted Code Found» означает что в теме найдены какие-то зашифрованные коды и ссылки. Для просмотра подозрительных кодов и ссылок нажимаем на кнопку Details рядом с названием темы, нам откроется список всех найденных ссылок и кодов обнаруженных в теме. Также будет показан адрес по которому находятся эти коды и ссылки. Нам остается только разобраться с этим и удалить посторонние ссылки, либо просто лучше поменять шаблон если обнаружены какие-то опасные коды и вы не знаете как их удалить и для чего они нужны.

Antivirus — достаточно запускать хотя бы 1 раз в месяц или после того как вы попросили поработать с сайтом какого либо верстальщика. Данный антивирус проверяет php код вашего сайта на подозрительные и странные зашифрованные коды.

Принцип работы плагина для защиты wordpress блога прост: запускаем проверку кнопочкой Scan the theme templates now . Плагин начинает сканирование всего кода нашего сайта, все точки где антивирус не обнаружил посторонних странных кодов окрашиваются зеленым цветом. Если в каком то раздели антивирус обнаруживает посторонний или подозрительный код этот раздел будет отображаться красным цветом и будет показан подозрительный код.

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

Если антивирус вам сообщает о подозрительном коде, но вы знаете что это за код и для чего он нужен сообщаем плагину что это не вирус нажав на кнопку There is no virus.

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

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

Добавить комментарий