Я периодически публикую в рубрике Шпаргалки полезные советы по дополнительным, нестандартным настройкам сайта, работающего на WordPress.
Они касаются защиты и безопасности шаблона, административной части, базы данных, расширению функционала админки и сайта, и многих других вопросов. Если интересно, как можно расширить ваш стандартный функционал WordPress — читайте дальше.
Совет — Дополнительная защита от спама и взлома сайта
Для этого можно использовать файл .htaccess, который лежит в корневой директории вашего сайта
.
Первый вариант кода, который я напишу ниже, защищает ваш сайт от нежелательных сценариев и иньекций вида GLOBAL и REQUEST. Добавьте в файл .htaccess следующий код:
2 | RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] |
3 | RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] |
4 | RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) |
5 | RewriteRule ^(.*)$ index.php [F,L] |
Второй вариант кода защищает ваш сайт от спам-роботов, атакующих файл wp-comments-post.php системы WordPress. Добавьте следующий код в файл .htaccess:
1 | <IfModule mod_rewrite.c> |
3 | RewriteCond %{REQUEST_METHOD} POST |
4 | RewriteCond %{REQUEST_URI} .wp-comments-post\.php* |
5 | RewriteCond %{HTTP_REFERER} !.*yourdomainname.* [OR] |
6 | RewriteCond %{HTTP_USER_AGENT} ^$ |
Перед редактированием файла — сохраните его на всякий случай. Не все команды для сервера, которые прописываются в этом файле, могут быть разрешены сервером вашего хостинга. Иногда администрация хостинга накладывает ограничения на исполнение некоторых команд через файл .htaccess, поэтому, если после добавления какого-либо кода в этот файл, ваш сайт вдруг станет недоступным, или появятся какие-либо ошибки — верните старый файл .htaccess на место.
Совет — Как закрыть сайт на техническое обслуживание
Главный вопрос: закрыть для посетителей, но оставить для себя, так как если вы проводите какие-либо работы по изменению дизайна или еще чего на своем рабочем сайте, вы можете не быть уверены, что все сразу получится, и не хотите, чтобы ваши «кривые руки» видели ваши посетители.
Для закрытия сайта на техническое обслуживание с условием, что сайт закрыт для всех, кроме вас, есть масса специальных плагинов, и в одном из своих обзоров я рассказывал о нескольких. Сегодня я покажу вам, как это можно сделать, используя всего лишь короткую функцию. Единственное, что является небольшим минусом: отсутствует дизайн. Ваши посетители увидят белый фон и небольшое сообщение в рамке.
Но если вам надо быстро, без заморочек на поиск и установку плагина, да еще и разбираться в нем долго, — тогда скопируйте и вставьте в файл functions.php вашего шаблона такой код:
1 | function wpr_maintenance_mode() { |
2 | if ( !current_user_can( 'edit_themes' ) || !is_user_logged_in() ) { |
3 | wp_die('Техническое обслуживание, зайдите чуть позже.'); |
6 | add_action('get_header', 'wpr_maintenance_mode'); |
Текст можете написать другой.
И в конце: не забывайте, что редактировать файлы с расширением PHP надо специальными редакторами с возможностью отключения сигнатуры BOM. Для этого лучше всего подойдут редакторы UnicEdit, Notepad ++.
Всем удачного блоггинга!
Информационный партнер
http://www.vipro.ru —
контекстная реклама. Создание контекстной рекламы, рекламирование сайта или продукта — вещь довольно сложная и доверить ее можно только профессионалам. Ведь вы не хотите свои деньги выбросить! Аккредитованное агентство VIPRO на рынке медийной рекламы существует 7 лет и статус «акредитованное агентство» заслужило своим профессиональным подходом к решению поставленных задач, большым опытом работы на рынке и гарантированным качеством выполнения заказов клиентов.
Понравилась статья? Поделись с друзьями!
Поправьте плз угловые скобки в примерах кода .htaccess
И собственно вопрос: в коде защиты от спам-ботов в строке 5 вместо !.*yourdomainname.* нужно указывать !.*mysite.* или !.*mysite.net.*
Значит, надо писать только имя, без www. и без доменной зоны, например, у меня выглядело бы так: wpfreethemes