Безбедност Структуре Фолдера WordPress подразумева да је најсигурнији начин да се онемогући директан приступ фолдеру "wp-includes" да се не блокира читав фолдер, већ да се онемогући извођење PHP датотека изван фолдера и листање директоријума. Разлог за то је што "wp-includes" садржи неопходне JavaScript, CSS и неке статичке датотеке за рад језгра WordPress-а; блокирање целог фолдера може нарушити дизајн странице, рад уређивача или функционалности додатака. Правилан приступ је да, ако користите Apache, блокирате директан PHP приступ помоћу .htaccess правила, а ако користите Nginx, да то урадите у server block-у уз помоћ location правила, а затим да потврдите функционалност странице помоћу 403/404 одговора и тестова критичних страница.
Једна од најчешћих грешака у безбедности WordPress-а је задовољавање само јаким лозинкама или безбедносним додацима. Међутим, нападачи често скенирају директорије које садрже основне датотеке, старе додатке, погрешне дозволе датотека и отворено листање директоријума. Фолдер "wp-includes" је такође један од циљева ових скенирања. У овом водичу ћете пронаћи примере конфигурације и кораке које можете примењивати у стварним хостинг окружењима за ограничење приступа "wp-includes", које правила могу нарушити функционалност сајта, методе тестирања и контролну листу за одржавање. Такође можете размотрити опције WordPress хостинг за сигурније покретање ваше WordPress странице и SSL сертификат за општу заштиту.
Шта је wp-includes Фолдер и зашто га је потребно заштитити?
"wp-includes" је један од главних директоријума који садржи основне библиотеке језгра WordPress-а. Унутар ове структуре налазе се систем тема, блок уређивач, REST API компонента, обрада медија, класе, функције и разне JavaScript датотеке. Укратко, "wp-includes" је једна од моторних соба WordPress-а; то није простор за садржај који корисници треба директно да посећују.
Обичан посетилац не мора да отвори адресу site.com/wp-includes/. Међутим, у изворном коду странице могу се видети неке статичне датотеке под "wp-includes". На пример, подразумеване скрипте WordPress-а, скрипте за емодзије или компоненте уређивача могу се учитати из овог директоријума. Стога је важно правилно одредити циљ приликом предузимања безбедносних мера: затворити директан веб приступ PHP датотекама, а да при том не блокирате рад статичних датотека.
Ова разлика је основа професионалног приступа Безбедности Структуре Фолдера WordPress. Блокирање директоријума без разликовања може изгледати безбедно на кратак рок, али може довести до проблема као што су бела страница на живој веб страници, покварен администраторски панел, нерадни блок уређивач или оштећен изглед теме. Циљ је смањити површину напада тако што ћете заштитити датотеке које WordPress захтева.
Шта доноси онемогућавање приступа wp-includes?
Онемогућавање директног извођења PHP у фолдеру "wp-includes" само по себи не зауставља све нападе; међутим, значајно смањује површину напада. Посебно на веб страницама зараженим малвером, нападачи покушавају да учитају злонамерне PHP датотеке у доступне директорије или да позову постојеће датотеке. Забрана директног извођења PHP датотека у "wp-includes" додатно поставља баријеру у овом сценарију.
Ова мера доноси следеће користи:
- Ограничено позивање основних PHP датотека директно преко URL-а.
- Помажу у спречавању видљивости садржаја директорија ако је листање директорија укључено.
- Обезбеђује заштиту на нивоу веб сервера чак и без безбедносних додатака.
- Уз WAF, SSL, ажурни PHP и дозволе датотека, појачава слојевиту безбедност.
Кључна тачка овог поступка је да представља слој безбедности. Ако постоји застарели додатак, слаба администраторска лозинка или компромитован FTP налог, правило за "wp-includes" само по себи није довољно. Безбедност је комбинација хостинг инфраструктуре, апликације, управљања корисницима и редовног одржавања. За сигурну основу можете се повезати на Безбедан веб хостинг и Безбедност домена за додатну заштиту у управљању доменима.
Најчешће грешке при онемогућавању wp-includes
Блокирање целог фолдера
Најчешћа грешка је блокирање свих HTTP захтева за фолдер "wp-includes" са 403 статусом. Ова метода може изгледати логично на први поглед; међутим, пошто WordPress учитава неке статичне ресурсе из овог директорија, могу се јавити неочекивани проблеми. На пример, блок уређивач можда неће радити, неке JavaScript датотеке можда неће бити учитане или се могу видети мање, али критичне проблеме у дизајну.
Применити правило без тестирања
У .htaccess или Nginx конфигурацији чак и једна грешка у коду може произвести 500 Internal Server Error. Посебно на сајтовима са великим прометом, директна примена правила представља ризик. Прво, направите резервну копију датотеке, затим тестирајте у staging окружењу ако је могуће, а затим контролисано примените на живом систему. Ако се унутар хостинг архитектуре користе staging или резервне опције, Резервна копија веб хостинга може се додати као природна интерна веза.
Потпуно ослањање на безбедносни додатак
Безбедносни додаци су корисни; међутим, правила на нивоу веб сервера активирају се раније. Ако захтев буде блокиран од стране Apache или Nginx пре него што стигне до PHP, потрошња ресурса ће бити смањена. Стога, чак и ако се користе додаци, основна правила сервера не смеју бити занемарена.
Контролна Листа пре Применe
Кратка припрема пре ограничавања приступа "wp-includes" значајно смањује ризик од прекида. Следећа контролна листа посебно се препоручује за живе WordPress странице:
- Направите резервну копију постојеће .htaccess или Nginx конфигурације.
- Aжурирајте језгро WordPress-а, теме и додатке.
- Уверите се да ваша PHP верзија подржава и да је сигурна.
- Проверите дозволе датотека: директоријуми би обично требало да буду 755, а датотеке 644.
- Не остављајте непотребно отворене дозволе за критичне датотеке као што су wp-config.php и .htaccess.
- Ако користите кеш, CDN или безбедносни додатак, планирајте чишћење кеша након промене.
- Направите списак критичних области које треба тестирати, као што су администраторски панел, почетна страница, страница за чланке, контакт форма и страница за плаћање.
Ове припреме трају око 10-15 минута; али могу спPrevent часове прекида узрокованих погрешним правилима. За корпоративне странице, безбедније је извршити промене у периоду са ниским прометом.
Онемогућавање PHP Приступа wp-includes на Apache Серверу помоћу .htaccess
На делјеним хостинг платформама које користе Apache, најчешћи метод је .htaccess датотека. Правила која се додају у .htaccess датотеку која се налази у главном директоријуму WordPress-а могу блокирати одређене PHP захтеве у "wp-includes". Пре него што започнете, преузмите копију датотеке на ваш рачунар или направите резервну копију преко управника датотека у хостинг панелу.
Препоручено .htaccess правило
Следећи приступ фокусира се на онемогућавање директног PHP приступа у "wp-includes" и чување рада статичних датотека:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-includes/.*[.]php$ - [F,L]
</IfModule>
Логика овог правила је једноставна: ако URL почиње са "wp-includes" и завршава са ".php", захтев је забрањен. Тако, PHP датотеке у "wp-includes" не могу бити позиване из прегледача. У исто време, приступ статичним датотекама као што су .js, .css, .png, .svg остаје отворен. Ово је безбеднија равнотежа за фронт-енд WordPress-а и администраторски панел.
Онемогућавање листања директоријума
Друга критична подешавања је искључивање листања директоријума. Ако је на серверу омогућено листање директоријума, корисници могу видети садржај неких фолдера. Додавање следеће линије у вашу главну .htaccess датотеку обично је довољно:
Options -Indexes
Ова линија спречава видљивост листе датотека у директоријумима који немају индекс датотеку. На модерним хостинг платформама, ово је често подразумевано искључено; али увек је добра безбедносна пракса да се провери.
Тестирање након промене
Након додавања правила, извршите следеће тестове:
- Отворите адресу siteadresiniz.com/wp-includes/; листа директоријума не би требало да буде видљива.
- Пробајте да позовете познату PHP датотеку у "wp-includes"; требало би да добијете 403 или 404 одговор.
- Проверите почетну страницу, блог пост и администраторски панел.
- Проверите у алатима за развој прегледача у секцијама Console и Network да ли постоји 404/403 грешка.
- Ако користите кеширање или CDN, очистите кеш.
Ако су сви тестови успешни, правило се може сигурно оставити у производном окружењу. Ако добијете 500 грешку, најбрже решење је да уклоните додате линије и вратите резервну .htaccess датотеку.
Онемогућавање PHP Приступа wp-includes на Nginx Серверу
На серверима који користе Nginx, VPS, dedicated или управљаним окружењима, .htaccess не функционише. Правило треба додати у конфигурациону датотеку Nginx-а, обично унутар server блока. Овај поступак захтева SSH приступ и овлашћење за измену конфигурационих датотека. Ако нисте сигурни, боље је потражити помоћ од хостинг подршке.
Препоручено Nginx location правило
Основно правило може се применити на следећи начин:
location ~* ^/wp-includes/.*[.]php$ {
deny all;
}
Ово правило блокира захтеве за PHP датотекама у "wp-includes". Након промене, важно је тестирати конфигурацију:
nginx -t
Ако је тест успешан, Nginx ће се поново учитати:
systemctl reload nginx
Команда reload је контролисанији начин од restart команде; обнови конфигурацију без потпуног прекида постојећих веза. Ипак, за критичне странице, препоручљиво је направити промене у периоду са ниским прометом.
Како поступати када користите Nginx
- Уверите се да сте правило додали у прави server блок; на истом серверу може бити више страница.
- Ако користите CDN или реверзни прокси, извршите стварна тестирања након чишћења CDN кеша.
- Проверите да PHP-FPM обрађује само потребне датотеке.
- Проведите преглед логова: access.log и error.log брзо указују на грешке у правилима.
Неправилан редослед location правила у Nginx окружењу може довести до неочекиваних резултата. Стога, уверите се да правило не сукобљава са WordPress permalink и PHP обрадним блоковима.
Поређење метода
Следећа табела резимира главне методе коришћене за ограничавање приступа "wp-includes":
| Метода | Одговарајуће окружење | Предност | Ствари на које треба обратити пажњу |
|---|---|---|---|
| .htaccess правило | Apache и LiteSpeed хостинг | Брзо се примењује, доступно на делјеним хостинг платформама | Погрешна синтакса може довести до 500 грешке |
| Nginx location правило | VPS, dedicated, управљани сервер | Снажно и перформантно на нивоу сервера | Потребно је SSH и знање о конфигурацији |
| Безбедносни додатак | Корисници са ограниченим техничким знањем | Лако управљање преко интерфејса | Сва правила не морају бити примењена на нивоу сервера |
| WAF и CDN | Странице са високим прометом или оне под нападом | Филтрира ботове, brute force и лоше захтеве рано | Погрешна правила могу блокирати стварне кориснике |
| Дозволе датотека | Све WordPress странице | Основна безбедносна хигијена | Не затвара приступ URL-у самостално |
У пракси, најбољи резултати се добијају комбиновањем ових метода. На пример, у Apache хостингу, .htaccess правило, исправне дозволе датотека, ажурно WordPress језгро, SSL и редовно прављење резервних копија стварају слојевиту одбрану. Пошто је безбедносни зид и изолација важни за хостинг инфраструктуру, избор Корпоративни Хостинг може направити разлику за критичне странице.
Дозволе и Подешавања Власништва Датотека
Онемогућавање приступа "wp-includes" неће бити успешно ако су дозволе датотека погрешне. Опште прихваћене дозволе у WordPress-у су 755 за директоријуме и 644 за датотеке. Ове вредности дозвољавају веб серверу да чита датотеке, смањујући непотребна права за писање. У неким посебним хостинг окружењима могу постојати различите конфигурације корисника и група; стога би требало обратити пажњу на препоруке вашег панела.
Посебно, 777 дозвола представља озбиљан безбедносни ризик. Када сви могу писати у директоријум, олакшава се учитавање злонамерних датотека. Чак и у директоријумима као што је "wp-content/uploads", где је потребно дозволити писање, треба забранити извршавање PHP. Фолдер "wp-includes" не би требало да буде доступан за писање од стране корисника осим током WordPress ажурирања.
Током безбедносне провере, следеће вредности могу се проверити:
- wp-includes директоријум: обично 755
- PHP датотеке у wp-includes: обично 644
- wp-config.php: ако је могуће 600 или строже дозволе које одговарају хостинг структури
- .htaccess: обично 644, без непотребних дозвола за писање након измене
Ова подешавања не морају се увек понашати исто на сваком серверу. Погрешне дозволе могу довести до немогућности ажурирања странице или читања датотека. Након измена, треба извршити здравствену проверу WordPress-а и прегледати логове грешака.
Да ли Безбедносни Додаци Користе Ову Процедуру?
Безбедносни додаци као што су Wordfence или iThemes Security могу аутоматски предложити нека правила за ојачање. Ови додаци су корисни у области заштите од brute force напада, праћења промена датотека, скенирања за злонамеран софтвер и безбедности при логовању. Међутим, свакако проверите шта додатак ради у вези са онемогућавањем приступа "wp-includes".
Неколико додатака аутоматски додаје правила у .htaccess датотеку. Неки само пружају заштиту на нивоу апликације. За разлику од правила на нивоу сервера, заштита на нивоу апликације активира се тек након што захтев стигне до WordPress-а, што није тако рано као блокирање на нивоу сервера. Стога је професионални приступ да заједно процените конфигурацију додатка и сервера.
Ако користите безбедносни додатак, урадите следеће провере:
- Проверите да ли додатак додаје правило у .htaccess или Nginx.
- Уверите се да два различита правила која раде исто не сукобљавају.
- Проверите да се безбедносна подешавања нису променила након ажурирања додатка.
- Пратите кеш и потрошњу ресурса сервера како бисте измерили утицај на перформансе.
Користити више безбедносних додатака истовремено обично није добра идеја. Суочавање са правилима за ватрене зидове, логовање и преусмеравање може смањити перформансе или довести до погрешног блокирања.
Тестирање Заштите wp-includes: Практичан Сценарио
Да бисте разумели да ли примена функционише, само отварање странице није довољно. Следећи практични тест од 7 корака може се применити на већини WordPress инсталација, од малих предузећа до е-трговинских пројеката:
- 1. Отворите почетну страницу у инкогнито режиму и проверите да ли постоји визуелна деформација.
- 2. Посетите страницу блога, страницу категорије и страницу резултата претраге.
- 3. Пријавите се на wp-admin панел; отворите блок уређивач и медијску библиотеку.
- 4. Проверите секцију Console у алатима за развој прегледача.
- 5. У секцији Network потврдите да статичне датотеке под "wp-includes" нису непотребно блокиране.
- 6. Извршите директан позив PHP датотеке у "wp-includes"; очекујте 403 или 404 одговор.
- 7. Проведите преглед логова грешака на серверу да бисте проверили постоје ли нове или поновљене грешке.
Овај тест траје око 5 минута и брзо открива неправилности у конфигурацији. Посебно на страницама које укључују плаћање, као што је WooCommerce, потребно је тестирати и странице за количник, плаћање и корисничке налоге. Чак и мала грешка у JavaScript-у може утицати на стопу конверзије на страницама које генеришу приход.
Додатне Мере Безбедности Структуре Фолдера WordPress
Заштита "wp-includes" је добар почетак; али треба размотрити безбедност WordPress-а у целини. Следеће додатне мере могу да даље смање површину напада:
- Немојте покушавати да сакријете верзију WordPress-а, већ одржавајте језгро ажурним.
- У потпуности уклоните непотребне теме и додатке.
- Учините корисничко име администратора тешко предвидивим.
- Користите двофакторску аутентификацију.
- Ограничите приступ XML-RPC ако га не користите.
- Примените ограничење брзине или додатну верификацију за wp-login.php.
- Проведите аутоматске резервне копије и тестирајте враћање.
- Користите HTTPS на целој страници; подаци за пријаву су у опасности без SSL.
SSL не затвара директно приступ "wp-includes"; али пружа основну безбедност за корисничке сесије, податке из формулара и саобраћај администраторског панела. Стога је SSL увек један од првих слојева у водичима за безбедност WordPress-а. У овом контексту, линкови Купите SSL сертификат и Инсталација бесплатног SSL могу се природно интегрисати у садржај.
Када треба потражити професионалну подршку?
Додавање .htaccess правила на једноставном Apache хостингу управљиво је за већину корисника. Међутим, ако се ради о специјалној Nginx конфигурацији, мрежи више страница, WooCommerce продавници, веб сајту са високим прометом или корпоративном порталу, може бити исправније потражити професионалну подршку. Зато што безбедносно правило не сме бити само технички тачно, већ и безбедно применити у смислу континуитета пословања.
Препоручује се експертска подршка у следећим ситуацијама:
- Ако хостујете више WordPress страница на серверу.
- Ако користите Nginx, Varnish, CDN и WAF заједно.
- Ако је после последњих промена дошло до пораста 403, 404 или 500 грешака.
- Ако је страница раније имала инфекцију малвером.
- Ако управљате системом који обрађује плаћање, чланство или личне податке.
Безбедна хостинг инфраструктура, исправна изолација, редовно прављење резервних копија и стручна подршка су невидљиви, али критични делови безбедности WordPress-а. При избору инфраструктуре не треба гледати само на простор на диску; већ и на резервне копије, ватрене зидове, подршку за PHP верзије, управљање SSL-ом и квалитет техничке подршке. У овом контексту, садржаји Hostragons Хостинг Пакети и Пренос WordPress сајта могу бити корисни за читаоце.
Закључак
Прави начин да се закључа приступ фолдеру "wp-includes" у оквиру Безбедности Структуре Фолдера WordPress није блокирање целог фолдера, већ онемогућавање директног веб приступа PHP датотекама у "wp-includes" и искључивање листања директоријума. Овај поступак може се брзо применити уз помоћ .htaccess за Apache или location правила за Nginx. Међутим, пре било које промене, потребно је направити резервну копију и касније тестирати администраторски панел и фронт-енд.
Укратко: не нарушавајте статичне датотеке, ограничите PHP приступ, онемогућите листање директоријума, проверите дозволе датотека и редовно ажурирајте. За сигурнију и управљивију WordPress инфраструктуру, можете погледати решења за хостинг, домене и SSL од Hostragons-а; и добити подршку за конфигурацију која одговара вашим потребама.
Често Постављана Питања
Да ли је безбедно потпуно затворити wp-includes фолдер?
Обично није препоручљиво. У "wp-includes" могу се налазити JavaScript, CSS и статичне датотеке потребне WordPress-у. Потпуно блокирање може нарушити изглед странице или администраторски панел. Безбеднији приступ је онемогућавање директног приступа PHP датотекама у овом фолдеру.
Шта да радим ако добијем 500 грешку након додавања .htaccess правила?
Прво уклоните последња правила која сте додали или вратите резервну .htaccess датотеку. Затим проверите правила на синтаксне грешке. Ако грешка и даље траје, прегледајте логове грешака хостинга или потражите помоћ техничке подршке.
Да ли .htaccess ради на Nginx серверу?
Не. .htaccess се користи у Apache и LiteSpeed окружењима. На Nginx серверима слична ограничења се налазе у location правилима унутар server блока и конфигурација се мора тестирати након промене помоћу nginx -t.
Да ли ће ова процедура учинити моју WordPress страницу потпуно безбедном?
Не. Онемогућавање PHP приступа "wp-includes" је важан слој безбедности, али самостално није довољно. Ажурирања, јаке лозинке, двофакторска аутентификација, SSL, резервне копије, ватри зид и исправне дозволе датотека морају бити заједно применљиве.
Ако користим безбедносни додатак, да ли треба додати правило за wp-includes?
Зависи од тога које правила додатак примењује. Неки додаци додају правило у .htaccess, док други пружају само заштиту на нивоу апликације. Ограничење PHP приступа на нивоу сервера је обично снажније решење без конфликата.