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

1. Файл Install.php в WordPress.
Как вы знаете файл install.php (в папке wp-admin) один из самых важных файлов для установки Вордпресс. Но после установки CMS этот файл больше не нужен. Поэтому стоит удалить или защитить его. Не беспокойтесь о том, что вы его удалите. С обновлением версии Вордпресс у вас не возникнет проблем, так как этот файл есть в директории CMS и вы сможете легко потом добавить на хостинг, когда хотите обновить версию Вордпресс. Но не забывайте, если вы не удалите или не защитите этот файл, он будет легко доступен для хакеров и шпионских программ. Есть три способа защитить сайт от атак:

    • Первый вариант очень прост – просто удалить файл install.php в папке wp-admin.
    • Через файл .htaccess: вы должны добавить файл .htaccess в папку wp-admin:
# PROTECT install.php
<Files install.php>
Order Allow,Deny
Deny from all
Satisfy all
</Files>
  • Если вы не хотите удалять этот файл с хостинга или ваш хостинг не допускает добавления файла .htaccess, то просто измените название этого файла. Например, измените название файла install.php на mysafe-install.php, а содержимое файла install.php пропишите таким образом:
    <?php header("HTTP/1.1 503 Service Temporarily Unavailable"); ?>
    <?php header("Status 503 Service Temporarily Unavailable"); ?>
    <?php header("Retry-After 3600"); // 60 minutes ?>
    <?php mail("your@email.com", "Database Error", "There is a problem with teh database!"); ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Error Establishing Database Connection</title>
    </head>
    <body>
    <img src="images/wordpress-logo.png" />
    <h1>Error Establishing Database Connection</h1>
    <p>We are currently experiencing database issues. Please check back shortly. Thank you.</p>
    </body>
    </html>

Теперь у вас будет два файла в папке wp-admin: install.php и mysafe-install.php.

2. Нет спаму!
Вордпресс – это блог, и является целью для всех спамеров, которые хотят добавить на ваш сайт свою рекламу, ссылки, картинки и другое… Если вы не хотите, чтоб этот спам добавлялся к вам на сайт, нужно использовать плагин или сделать это через файл .htaccess в корне сайта.
И напишите ваш URL, как в примере http://www.yoursite.com/wp-comments-post.php.
Если вы увидите, что ваш сайт открыт для спама, вы можете закрыть его, добавив код в файл .htaccess на вашем хостинге (если ваш хостинг не разрешает файл .htaccess, то использует плагин, например Аkismet, который идет по умолчанию к Вордпресс):

# block comment spam 
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*yousite.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule ^(.*)$ ^ http://example.com/$ [R=301,L]

ИЛИ

# BLOCK NO-REFERRER SPAMS 
<IfModule mod_rewrite.c>
 RewriteEngine On
 RewriteCond %{REQUEST_METHOD} POST
 RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
 RewriteCond %{HTTP_REFERER} !.*example.com.* [NC]
 RewriteCond %{REQUEST_URI} /wp\-comments\-post\.php [NC]
 RewriteRule .* http://example.com/ [R=301,L]
</IfModule>

Не забудьте поменять example.com на адрес вашего сайта (полный адрес) без http:// или www.

Теперь, когда спамеры будут пытаться добавить спам на ваш сайт, они будут перенаправлены на http://example.com/, как раз то, что нам нужно!

3. Заблокировать ботов.
Как мы можем заблокировать сайт от плохих ботов, которые постоянно атакую сайт? Мы предлагаем сделать это через файл .htaccess на вашем хостинге:

# BLOCK BAD BOTS
<IfModule mod_setenvif.c>
 SetEnvIfNoCase User-Agent ^$ keep_out
 SetEnvIfNoCase User-Agent (casper|cmsworldmap|diavol|dotbot)   keep_out
 SetEnvIfNoCase User-Agent (flicky|ia_archiver|jakarta|kmccrew) keep_out
 SetEnvIfNoCase User-Agent (libwww|planetwork|pycurl|skygrid|badbot)   keep_out
 SetEnvIfNoCase User-Agent (purebot|comodo|feedfinder) keep_out
SetEnvIfNoCase User-Agent (badbot)   keep_out
 <Limit GET POST PUT>
  Order Allow,Deny
  Allow from all
  Deny from env=keep_out
 </Limit>
</IfModule>

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

Мы надеемся, что эта статья поможет вам в защите вашего сайта. Будьте с GKS Веб Студией и узнавайте больше о том, как защитить ваш сайт от возможных атак, предотвратить взлом сайта, сделать представительство вашего бизнеса в интернете еще более безопасным и многое другое…