Забезпечення безпеки вашого сайту має бути пріоритетом для кожного адміністратора. WordPress є безпечною платформою за замовчуванням, але це не означає, що він невразливий до атак. На щастя, навіть якщо ви не є експертом з безпеки, ви можете використовувати файл під назвою .htaccess для посилення політик безпеки вашого сайту.
.htaccess — це файл конфігурації для веб-сервера Apache, який обслуговує багато сайтів WordPress. Це потужний інструмент, який допомагає захистити ваш сайт і підвищити його продуктивність завдяки деяким невеликим змінам у коді. Редагуючи цей файл, ви можете блокувати користувачів, створювати перенаправлення, запобігати атакам та навіть забороняти доступ до певних частин вашого сайту.
Вступ до файлу .htaccess
.htaccess — це скорочення від “HyperText Access”. Це файл конфігурації, який визначає, як сервери на базі Apache взаємодіють з вашим сайтом. Простіше кажучи, .htaccess контролює, як можна отримати доступ до файлів у директорії. Можна вважати його охоронцем вашого сайту, оскільки він вирішує, кому дозволити вхід та що вони мають право робити.
За замовчуванням, файл .htaccess зазвичай включений у вашу інсталяцію WordPress. Основна мета цього файлу полягає у покращенні безпеки та продуктивності. Крім того, він також дозволяє змінювати налаштування вашого веб-сервера.
Найімовірніше, ви знайдете файл .htaccess у кореневому каталозі вашого сайту. Оскільки .htaccess застосовується як до свого власного каталогу, так і до всіх підкаталогів у цій головній папці, він впливає на весь ваш сайт WordPress.
Також варто зазначити, що файл .htaccess не має розширення файлу. Точка на початку просто забезпечує те, що файл залишається прихованим.
Як редагувати ваш файл .htaccess WordPress
Редагування файлу .htaccess на практиці є таким же простим, як і редагування будь-якого іншого текстового файлу. Однак, оскільки це основний файл, внесення змін до нього може мати непередбачені наслідки.
З цієї причини надзвичайно важливо зробити резервну копію вашого сайту перед початком роботи, незалежно від того, чи ви новачок, чи досвідчений розробник.
Коли ви будете готові редагувати файл .htaccess, ви можете отримати доступ до нього за допомогою Протоколу безпечної передачі файлів (SFTP) або Secure Shell (SSH). Ви знайдете .htaccess у кореневій директорії вашого сайту:
Відкрийте файл за допомогою обраного текстового редактора, наприклад TextEdit або Notepad. Якщо файл раніше не редагувався, ви побачите наступну стандартну інформацію:
Важливо не додавати або змінювати щось між тегами # BEGIN і # END. Замість цього, всі нові коди мають бути додані після цього блоку.
На цьому етапі все, що вам потрібно зробити, це додати свій код та зберегти файл. Коли ви включаєте кілька нових функцій, найкраще зберегти та протестувати кожну окремо. Якщо виникне помилка, це значно спростить усунення проблеми, яка викликала проблему.
Хоча майже всі установки WordPress уже містять файл .htaccess, в деяких випадках вам може знадобитися створити його самостійно. Ви можете зробити це за допомогою текстового редактора на ваш вибір, при цьому зберігши його з правильною назвою файлу: .htaccess без розширення.
Також важливо правильно налаштувати налаштування дозволів файлу. Потім ви можете завантажити .htaccess у кореневий каталог вашого сайту.
9 речей, які ви можете зробити з вашим файлом .htaccess WordPress
Тепер, коли ви знайомі з файлом .htaccess, настав час познайомитися з ним ближче. Ми розглянемо кілька способів, як ви можете легко підвищити безпеку та продуктивність вашого сайту, редагуючи цей файл.
Просто використовуйте наведені нижче фрагменти коду, і не забудьте створити резервну копію перед початком!
1. Заборонити доступ до частин вашого сайту
Одна з найкорисніших речей, які ви можете зробити за допомогою .htaccess, це заборонити доступ до певних сторінок та файлів. Є кілька файлів, які вам варто приховати таким чином з міркувань безпеки, наприклад, ваш файл wp-config.php.
Ви можете зробити це, додавши наступний код, який спричинить появу 404 помилки, якщо хтось спробує переглянути файл:
<Files ~ "/wp-config.php"> Order Allow,Deny Deny from All </Files>
У випадках, коли конфіденційні дані мають бути прихованими, може бути корисним обмежити доступ до відповідного каталогу. Оскільки багато сайтів WordPress використовують однакову структуру папок, таке налаштування може залишити ваш сайт вразливим. Якщо ви додасте наступний рядок, це вимкне функціональність переліку директорій за замовчуванням:
Options -Indexes
Це зупинить користувачів та роботів від перегляду структури вашої папки. Якщо хтось спробує отримати до неї доступ, замість цього йому буде показано сторінку з помилкою 403.
2. Перенаправлення та переписування URL-адрес
Створення перенаправлень дозволяє вам автоматично відправляти користувачів на певну сторінку. Перенаправлення можуть бути особливо корисними, якщо сторінка була переміщена або видалена, і ви хочете, щоб користувачі, які намагаються отримати до неї доступ, були перенаправлені в інше місце.
Ви можете досягти цього за допомогою плагіна, наприклад Redirection, але також можливо зробити це, відредагувавши файл .htaccess. Щоб створити перенаправлення, використовуйте наступний код:
Redirect /oldfile.html http://www.example.com/newfile.html
Ви, ймовірно, бачите, що тут відбувається. Перша частина – це шлях до старого файлу, тоді як друга частина – це URL, на який ви хочете перенаправити відвідувачів.
3. Змусьте ваш сайт завантажуватися безпечно за допомогою HTTPS
<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class=’embed-container’><iframe src=’https://www.youtube.com/embed/QeicRf_Ri3Y’ frameborder=’0′ allowfullscreen></iframe></div>
Якщо ви додали SSL-сертифікат до вашого домену, наприклад, безкоштовний сертифікат Let’s Encrypt від DreamHost, то добре було б змусити ваш сайт завантажуватися через HTTPS. Це забезпечить більшу безпеку як для вас, так і для ваших відвідувачів.
Ви можете це зробити, додавши наступний код:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Тепер ваш сайт автоматично перенаправлятиме всі HTTP-запити та направлятиме їх на використання HTTPS. Наприклад, якщо користувач спробує отримати доступ до http://www.example.com, він буде автоматично перенаправлений на https://www.example.com.
4. Змінити налаштування кешування
Кешування в браузері — це процес, під час якого тимчасово зберігаються певні файли веб-сайту на локальному пристрої відвідувача, щоб сторінки завантажувалися швидше. Використовуючи .htaccess, ви можете змінити час, на який ваші файли зберігаються у кеші браузера, доки вони не будуть оновлені новими версіями.
Існує кілька різних способів зробити це, але для цього прикладу ми використаємо функцію під назвою mod_headers. Наступний код змінить максимальний час кешування для всіх файлів jpg, jpeg, png, та gif:
<ifModule mod_headers.c> <filesMatch ".(jpg|jpeg|png|gif)$"> Header set Cache-Control "max-age=2592000, public" </filesMatch>
Ми встановили максимальний час у 2,592,000 секунд, що дорівнює 30 дням. Ви можете змінити цю кількість, якщо хочете, а також розширення файлів, на які це вплине. Якщо ви хочете додати різні налаштування для різних розширень, просто додайте більше функцій mod_header.
5. Запобігання певним атакам ін’єкції скриптів
Ін’єкція скриптів (або ‘ін’єкція коду’) атаки намагаються змінити спосіб виконання сайту або додатку шляхом додавання недійсного коду. Наприклад, хтось може додати скрипт у текстове поле на вашому сайті, а потім надіслати його, що може спричинити виконання цього скрипту на вашому сайті.
Ви можете додати наступний код для захисту проти певних типів ін’єкцій скриптів:
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]
Тепер ваш сайт повинен виявляти та блокувати спроби ін’єкції скриптів та перенаправляти винуватця на вашу сторінку index.php.
Однак, важливо зазначити, що цей приклад не захистить від усіх типів атак ін’єкцій. Хоча цей конкретний код дійсно може бути корисним, ви не повинні використовувати його як єдиний захист проти цього типу атаки.
6. Зупиніть атаки з переліченням імен користувачів
Перелічення імен користувачів — це процес, під час якого імена користувачів вашого сайту збираються шляхом перегляду сторінки автора кожного користувача. Це особливо проблематично, якщо хтось вдасться знайти ім’я вашого адміністратора, що значно спрощує для ботів доступ до вашого сайту.
Ви можете допомогти запобігти переліченню імен користувачів, додавши наступний код:
RewriteCond %{REQUEST_URI} !^/wp-admin [NC] RewriteCond %{QUERY_STRING} author=d RewriteRule .* - [R=403,L]
Це зупинить певні спроби перелічення імен користувачів і показує сторінку помилки 403 замість цього. Майте на увазі, що це не запобігає всьому переліченню, і вам слід ретельно перевірити вашу безпеку. Ми також рекомендуємо посилити сторінку входу, впровадивши Багатофакторну автентифікацію.
7. Запобігання використанню зображень за посиланням
Гаряче посилання на зображення є поширеною проблемою, яка виникає, коли зображення на вашому сервері відображаються на іншому сайті. Ви можете зупинити це, додавши наступний код до .htaccess:
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com/.*$ [NC] RewriteRule .(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]
Замініть example.com на ваш власний домен, і цей код запобіжить завантаженню зображень на всіх інших сайтах. Замість цього буде завантажуватися зображення, яке ви вкажете на останньому рядку. Ви можете використовувати це для надсилання альтернативного зображення на сайти, які намагаються відображати графіку з вашого сервера.
Зверніть увагу, що це може спричинити проблеми, коли ви хочете, щоб зображення відображалися зовні, наприклад, у пошукових системах. Ви також можете розглянути можливість посилання на скрипт замість статичного зображення, а потім відповісти зображенням із водяним знаком або зображенням, що містить рекламу.
8. Контролюйте Ваші розширення файлів
Використовуючи .htaccess, ви можете контролювати, як файли різних розширень завантажуються вашим сайтом. Ця функція дозволяє зробити багато чого, наприклад, виконання файлів як PHP, але зараз ми розглянемо лише простий приклад.
Наступний код видалить розширення файлів з PHP файлів, коли вони завантажуються. Ви можете використовувати це з будь-яким типом файлів, за умови, що заміните всі входження “php” на розширення, яке ви хочете:
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/ RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301] RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/ RewriteRule ^(.+).php$ http://example.com/$1 [L,R=301] RewriteRule ^([a-z]+)$ /$1.php [L]
Це призведе до завантаження всіх PHP файлів без відображення їх розширення у URL. Наприклад, файл index.php буде відображатися як просто index.
9. Примусове завантаження файлів
Нарешті, коли файл запитується на вашому сайті, типова поведінка полягає в тому, щоб відображати його в браузері. Наприклад, якщо ви розміщуєте аудіофайл, він почне відтворюватися в браузері, а не зберігатися на комп’ютері відвідувача.
Ви можете змінити це, примусивши сайт завантажити файл замість цього. Це можна зробити за допомогою наступного коду:
AddType application/octet-stream mp3
У цьому прикладі ми використовували файли mp3, але ви можете використовувати ту саму функцію для txt, mov або будь-якого іншого відповідного розширення.
Покращте безпеку та продуктивність вашого сайту
Файл .htaccess забезпечує гнучкість у керуванні поведінкою вашого веб-сервера. Ви також можете використовувати його для підвищення продуктивності вашого сайту та отримання більшого контролю над тим, хто може отримати доступ до певної інформації.
За допомогою .htaccess ви можете заборонити доступ до певних частин вашого сайту. Крім того, він дозволяє перенаправляти URL-адреси, змушувати ваш сайт завантажуватися через HTTPS і запобігати деяким атакам ін’єкції скриптів.
Редагування вашого файлу .htaccess — це лише один із способів підвищення безпеки вашого сайту. Вибір безпечного провайдера хостингу WordPress — це ще один. Ознайомтеся з нашими планами керованого хостингу DreamPress, щоб побачити, як ми можемо підвищити безпеку та продуктивність вашого веб-сайту!
Робіть більше з DreamPress
Користувачі DreamPress Plus і Pro отримують доступ до Jetpack Professional (та понад 200 преміальних тем) без додаткових витрат!
Переглянути плани