Last active
June 8, 2023 20:19
-
-
Save muks999/f8b93ae364cf4c2c9f15675a1080c1d0 to your computer and use it in GitHub Desktop.
Защищаем Wordpress!!!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****1.-----Защита от XSS-инъекций. Доб код в htaccess----------------------****/ | |
Options +FollowSymLinks | |
RewriteEngine On | |
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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] | |
/****1.-----END of 1.----------------------****/ | |
/****2.-----Убираем показ лишней информации. Доб код в functions.php----------------------****/ | |
add_filter('login_errors',create_function('$a', "return null;")); | |
/****2.-----END of 2.--------------------------------------------------------------------****/ | |
/****3.-----Принудительное использование SSL Доб код в wp-config.php---------------------****/ | |
define('FORCE_SSL_ADMIN', true); | |
/****3.-----END of 3.-------------------------------------------------------------------****/ | |
/****4.-----Используем .htaccess для защиты файла wp-config----------------------------****/ | |
<files wp-config.php> | |
order allow,deny | |
deny from all | |
</files> | |
/****4.-----END of 4.-------------------------------------------------------------------****/ | |
/****5.-----Скрываем версию Wordpress'a Добавляем код в functions.php-----------------****/ | |
remove_action('wp_head', 'wp_generator'); | |
/****5.-----END of 5.-------------------------------------------------------------------****/ | |
/****6.-----Баним спамеров и ботов. Доб код в htaccess---------------------****/ | |
<Limit GET POST PUT> | |
order allow,deny | |
allow from all | |
deny from 123.456.789.012 | |
deny from 234.567.890.* | |
</LIMIT> | |
/****6.-----END of 6.-------------------------------------------------------------------****/ | |
/****7.---плагин для защиты от зловредных url-запросов.Созд новый файл wp-content/plugins/blockbadqueries.php---------------****/ | |
<?php | |
/* | |
Plugin Name: Block Bad Queries | |
Plugin URI: perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests | |
Description: Protect WordPress Against Malicious URL Requests | |
Author URI: perishablepress.com | |
Author: Perishable Press | |
Version: 1.0 | |
*/ | |
global $user_ID; | |
if($user_ID) { | |
if(!current_user_can('level_10')) { | |
if (strlen($_SERVER['REQUEST_URI']) > 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; | |
} | |
} | |
} | |
?> | |
/****7.-----END of 7.----------потом активируем плагин в админке------------------------****/ | |
/****8.-----Защита от личеров(hotlinks). Доб код в htaccess---------------------****/ | |
RewriteEngine On | |
#Замените ?mysite\.ru/ на адрес вашего сайта | |
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.ru/ [NC] | |
RewriteCond %{HTTP_REFERER} !^$ | |
#Замените /images/nohotlink.jpg на название вашей картинки с лозунгом «личер идёт на…» | |
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L] | |
/****8.-----END of 8.-------------------------------------------------------------------****/ | |
/****9.-----NO default 'admin' запрос к БазеДанных---------------------****/ | |
UPDATE wp_users SET user_login = 'Ваш новый логин' WHERE user_login = 'Admin'; | |
/*меняем аавтора постов*/ | |
UPDATE wp_posts SET post_author = 'Ваш новый логин' WHERE post_author = 'admin'; | |
/****9.-----END of 9.-------------------------------------------------------------------****/ | |
/****10.-----Защита директорий на сервере от просмотра. Доб код в htaccess---------------------****/ | |
Options All -Indexes | |
/****10.-----END of 10.-------------------------------------------------------------------****/ |
10 пункт
Вы можете либо добавить пустые файлы index.html в папки, просмотр которых хотели бы запретить. Либо дополнить наш .htaccess ещё одной строкой:
Options All -Indexes
Как это работает?
Пустой index.html будет выдаваться каждый раз, когда последует запрос к директории. Ну а директива в .htaccess просто запрещает апачу выдавать список содержимого директории.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
7 пункт:
Работа этого плагина проста – он проверяет все длинные запросы (более 255 символов) и наличие php-функций eval или base64 в URI. Если что-то из этого находится, браузеру пользователя отдаётся страница с ошибкой 414.