Для того, чтобы повысить безопасность блога, первым делом нужно просмотреть все посты на эту тему. Ну а вторым делом нужно защитить себя, используя настройки, которые я приведу ниже.
Для начала нужно закрыть доступ извне ко всем служебным папкам. Делается это очень просто — добавьте в файл htaccess такую строчку:
Disallow: /wp-*
После этого все папки, начинающиеся с wp-, станут недоступны никому, кроме вас.
Так же нужно удалить версию WordPress из кода страницы — я уже писал об этом ранее. Напомню, что это делается вставкой одной строчки кода в файл functions.php:
remove_action('wp_head', 'wp_generator');
Неплохо бы защитить блог от всевозможных ботов-сканеров, бороздящих сайт ваш сайт в поисках всевозможных личных данных, ссылок и адресов. Для этого мы сейчас напишем самый настоящий плагин.
Создайте текстовый файл blockbadqueries.php и скопируйте в него такой код:
255 || strpos($_SERVER['REQUEST_URI'], "eval(") || strpos($_SERVER['REQUEST_URI'], "CONCAT") || strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") || strpos($_SERVER['REQUEST_URI'], "base64")) { @header("HTTP/1.1 414 Request-URI Too Long"); @header("Status: 414 Request-URI Too Long"); @header("Connection: Close"); @exit; } } } ?>
Устанавливается этот плагин, как и все другие — переписываете его в папку с плагинами и активируете. Он блокирует всевозможные «плохие» запросы, посылая их отправителей гулять лесом.
Так же не мешало бы защитить блог от «прививок» вредоносных скриптов. Делается это добавкой следующего кода в файл htaccess:
Options +FollowSymLinks RewriteEngine On RewriteCond %{QUERY_STRING} (|%3E) [NC,OR] RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) RewriteRule ^(.*)$ index.php [F,L]
Ну и самое главное, святая святых — это файл wp-config.php. В нем и пароль от вашей базы данных, и секретные ключи. Его нужно спрятать от всех подальше, то есть напрочь закрыть к нему любой доступ извне. Делается это через фал htaccess добавлением в него таких строчек:
order allow,deny deny from all
Береженого бог бережет!

Отличная статья!
По поводу скрытия версии блога. Я по rss-фиду wordpress-блога могу сказать какая используется версия:
Так, что нет смысла прятать функцией. За статью спасибо!
Что-то я нахимичил в файле htaccess теперь ни на сайт ни в админку не заходит выдает ошибку — 500 Internal Server Error. Хотя хостинг работает в норме.
Подскажите как быть?:)
По-моему, конфликтуют два блока между собой: с 13 по 17 строчку и с 19 по 23. Попробуйте удалить один из них и посмотреть, что получится.
Спасибо, все заработало, как только убрал дублирующие строчки с 19 по 24.
Приветствую тебя,Начальник Сайта! Видимо эта страница не для таких крутых чайников как я! Давеча вставил в htaccess рекомендованную тобой пропись супротив спам-ботов(одолевали через комменты, штук по 10 в сутки)- СПАСИБО!- ни единого спам-коммента за неделю! Но вот, рекомендованная тобой пропись туда-же Disallow: /wp-* — в первую очередь сработала против меня (и,думаю — против всех моих благообразных посетителей)- блог напрочь перестал быть доступным — ошибка – 500 Internal Server Error. То же самое при вставке туда всех здесь рекомендованных прописей. А как создать текстовый файл blockbadqueries.php — думаю, не только я один этого не знаю. Так что, уважаемый Начальник, тебе бы очень неплохо немного «приопустить» (сделать более понятной) эту страничку…
Вот похвалился, что не стало спам-комментов от роботов, оказывается заблокировались и людские комменты..(движок Вордпресс 2.9.2)
Вот, могу порекомендовать свой плагин защиты от спама: http://wp-kama.ru/id_95/plagin-dlya-blokirovki-spama-v-kommentariyah-dlya-wordpress.html
1 Disallow: /wp-* yfписала эту строчку, сайт перестал открываться выдает ошибку почему так?
Все таки, судя по количеству нареканий именно к этой строчке, работает она некорректно в некоторых блогах. Видимо это связано с настройками безопасности серверов у хостера, но все же лучше будет не употреблять ее.
ваш блог далеко не первый где я встречаю такой совет, когда речь идет о безопастности блога, и его все дают и дают хотя я не встретила еще человека у которого это корректно сработало
господа, я конечно не профи, но по-моему формат
Disallow: /wp-*
это для файла robots.txt
вставьте эту строчку туда, и все будет работать корректно.
п.с. большое спасибо создателю этого сайта, нашел много полезной инфы