Ασφάλεια

Ασφάλεια Δομής WordPress: Πως να Αποκλείσετε την Πρόσβαση στο φάκελο “wp-includes”

  • 11 λεπτά για διάβασμα
  • Η Ομάδα της Hostragons
Ασφάλεια Δομής WordPress: Πως να Αποκλείσετε την Πρόσβαση στο φάκελο “wp-includes”

Ασφάλεια Δομής WordPress σημαίνει να αποκλείσετε την άμεση πρόσβαση στον φάκελο wp-includes με τον πιο ασφαλή τρόπο: αντί να “τυφλώνετε” όλο το φάκελο, εστιάζετε στο να αποτρέψετε την εξωτερική εκτέλεση PHP αρχείων και να απενεργοποιήσετε την προβολή καταλόγου. Ο φάκελος wp-includes περιέχει βασικά JavaScript, CSS και στατικά αρχεία που απαιτούνται για τη λειτουργία του WordPress. Το πλήρες μπλοκάρισμα μπορεί να προκαλέσει προβλήματα σε design, editor ή plugins. Η σωστή προσέγγιση είναι να εφαρμόσετε κανόνες .htaccess αν χρησιμοποιείτε Apache ή location blocks αν έχετε Nginx, ώστε να περιορίσετε μόνο την εκτέλεση PHP. Στη συνέχεια, ελέγχετε αν παίρνετε 403/404 απαντήσεις και αν λειτουργούν οι κρίσιμες σελίδες.

Ένα από τα συχνότερα λάθη στην ασφάλεια WordPress είναι η αίσθηση “ασφάλειας” μόνο με ισχυρό κωδικό ή κάποιο security plugin. Οι επιτήδειοι εξετάζουν καταλόγους πυρήνα, παλιά plugins, λανθασμένα δικαιώματα αρχείων και ανοιχτή προβολή φακέλων. Ο wp-includes είναι συχνός στόχος. Στον οδηγό αυτό θα δείτε πρακτικά βήματα για να περιορίσετε την πρόσβαση, ποιοι κανόνες μπορεί να προκαλέσουν προβλήματα, παραδείγματα ρυθμίσεων για Apache και Nginx, μεθόδους ελέγχου και checklist συντήρησης. Για μεγαλύτερη ασφάλεια, αξιολογήστε WordPress hosting και για συνολική προστασία Πιστοποιητικό SSL.

Τι είναι ο φάκελος wp-includes και γιατί πρέπει να προστατεύεται;

Ο wp-includes είναι ένας από τους βασικούς καταλόγους του WordPress, που φιλοξενεί βιβλιοθήκες πυρήνα, το σύστημα θεμάτων, τον block editor, API στοιχεία, επεξεργασία media, classes, functions και διάφορα αρχεία JavaScript. Με απλά λόγια, είναι το “μηχανοστάσιο” του WordPress – δεν πρέπει να τον επισκέπτεται ο χρήστης απευθείας.

Ένας επισκέπτης δεν χρειάζεται να ανοίξει το site.com/wp-includes/. Ωστόσο, στον source code μιας σελίδας, μπορεί να εμφανίζονται στατικά αρχεία από εκεί – π.χ. default scripts, emoji scripts, στοιχεία editor. Άρα, ο στόχος ασφάλειας είναι να εμποδίζετε την εκτέλεση PHP χωρίς να επηρεάζετε τα στατικά αρχεία.

Αυτή η διάκριση είναι βασικό στοιχείο επαγγελματικής Ασφάλειας Δομής WordPress. Το τυφλό κλείσιμο φακέλων μπορεί να φαίνεται ασφαλές, αλλά συχνά οδηγεί σε κενές σελίδες, σπασμένο admin panel, προβλήματα editor ή ελαττωματικό design. Ο στόχος είναι να προστατεύετε τα απαραίτητα αρχεία και να μειώνετε τα σημεία επίθεσης.

Τι προσφέρει το κλείσιμο της πρόσβασης στον wp-includes;

Η απαγόρευση άμεσης εκτέλεσης PHP στον wp-includes δεν σταματά όλες τις επιθέσεις, αλλά μειώνει ουσιαστικά το attack surface. Σε sites με malware, οι hackers προσπαθούν να ανεβάσουν κακόβουλα PHP ή να καλέσουν υπάρχοντα αρχεία. Το μπλοκάρισμα PHP στον wp-includes προσθέτει ένα επιπλέον εμπόδιο.

Τα οφέλη είναι:

  • Περιορίζει την άμεση εκτέλεση core PHP αρχείων μέσω URL.
  • Βοηθά να μην εμφανίζεται περιεχόμενο φακέλων αν η προβολή καταλόγου είναι ανοιχτή.
  • Μειώνει διαρροή πληροφοριών σε bot scanners.
  • Παρέχει προστασία σε επίπεδο web server, ακόμη και χωρίς security plugin.
  • Ενισχύει την πολυεπίπεδη ασφάλεια μαζί με WAF, SSL, ενημερωμένο PHP και σωστά δικαιώματα.

Προσοχή: αυτό είναι ένα layer ασφάλειας. Αν έχετε outdated plugin, αδύναμο admin password ή χαμένο FTP, ο wp-includes κανόνας δεν αρκεί. Η ασφάλεια είναι συνδυασμός hosting, εφαρμογής, διαχείρισης χρηστών και τακτικής συντήρησης. Για αξιόπιστη βάση, δείτε Ασφαλές Web Hosting και για domain protection Ασφάλεια Τομέα.

Συχνά λάθη στο κλείσιμο του wp-includes

Ολική απαγόρευση του φακέλου

Το πιο συχνό λάθος είναι να μπλοκάρετε κάθε HTTP request στον wp-includes με 403. Φαίνεται λογικό, αλλά το WordPress φορτώνει στατικά αρχεία από εκεί – π.χ. block editor, JS, μικρά αλλά κρίσιμα design elements. Έτσι, ο editor μπορεί να μην ανοίγει, scripts να μην φορτώνουν ή το frontend να χαλάει.

Εφαρμογή κανόνων χωρίς testing

Ένα λάθος σε .htaccess ή Nginx config μπορεί να προκαλέσει 500 Internal Server Error. Σε sites με traffic, η άμεση εφαρμογή είναι επικίνδυνη. Πάρτε backup του αρχείου, δοκιμάστε σε staging αν υπάρχει, και μετά εφαρμόστε προσεκτικά. Αν έχετε δυνατότητα staging/backup στην Hostragons, προσθέστε Αντίγραφα ασφαλείας Web Hosting ως εσωτερικό link.

Υπερεμπιστοσύνη στα security plugins

Τα plugins είναι χρήσιμα, αλλά οι server rules δρουν νωρίτερα στη διαδικασία. Αν το request αποκλειστεί από Apache/Nginx πριν φτάσει σε PHP, εξοικονομείται πόρος. Άρα, ακόμη και με plugin, οι βασικοί server κανόνες πρέπει να εφαρμόζονται.

Checklist πριν την εφαρμογή

Πριν περιορίσετε την πρόσβαση στον wp-includes, κάντε μια σύντομη προετοιμασία. Ειδικά σε live sites:

  • Κάντε backup του υπάρχοντος .htaccess ή Nginx config.
  • Ενημερώστε core, themes και plugins του WordPress.
  • Βεβαιωθείτε ότι χρησιμοποιείτε ασφαλή και υποστηριζόμενη PHP έκδοση.
  • Ελέγξτε file permissions: φάκελοι συνήθως 755, αρχεία 644.
  • Δώστε περιορισμένα write permissions σε wp-config.php και .htaccess.
  • Αν έχετε cache, CDN ή security plugin, καθαρίστε cache μετά την αλλαγή.
  • Φτιάξτε μια λίστα για testing admin, homepage, post, contact και checkout pages.

Αυτά παίρνουν 10-15 λεπτά, αλλά προλαμβάνουν πολύωρες διακοπές από λάθος ρυθμίσεις. Σε εταιρικά sites, εφαρμόστε αλλαγές σε ώρες χαμηλής επισκεψιμότητας.

Αποκλεισμός PHP στον wp-includes με .htaccess (Apache)

Σε Apache hosting, το .htaccess είναι η πιο συχνή μέθοδος. Το σωστό rule στο .htaccess του root WordPress περιορίζει εκτέλεση PHP στον wp-includes. Πριν ξεκινήσετε, κατεβάστε ένα αντίγραφο του αρχείου ή κάντε backup από το hosting panel.

Προτεινόμενο .htaccess rule

Η παρακάτω προσέγγιση μπλοκάρει μόνο PHP requests, διατηρώντας τα στατικά αρχεία:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^wp-includes/.*[.]php$ - [F,L]
</IfModule>

Αν το URL ξεκινά με wp-includes και τελειώνει σε .php, το request απαγορεύεται. Έτσι, τα PHP αρχεία δεν εκτελούνται από browser, αλλά .js, .css, .png, .svg παραμένουν προσβάσιμα. Ισορροπημένη λύση για το frontend και admin.

Απενεργοποίηση προβολής καταλόγου

Σημαντικό είναι να κλείσετε την προβολή φακέλων. Αν είναι ενεργή, οι χρήστες βλέπουν το περιεχόμενο. Προσθέστε στο .htaccess:

Options -Indexes

Αυτή η γραμμή αποτρέπει την προβολή φακέλων χωρίς index. Τις περισσότερες φορές είναι default, αλλά ο έλεγχος είναι καλό security habit.

Έλεγχος μετά την αλλαγή

Αφού εφαρμόσετε τον κανόνα:

  • Ανοίξτε το site.com/wp-includes/ – δεν πρέπει να εμφανίζεται κατάλογος.
  • Δοκιμάστε να καλέσετε γνωστό PHP στον wp-includes – πρέπει να πάρετε 403 ή 404.
  • Ελέγξτε homepage, posts και admin panel.
  • Στα developer tools, δείτε αν υπάρχουν 404/403 errors σε Console και Network.
  • Καθαρίστε cache αν έχετε CDN ή plugin.

Αν όλα δουλεύουν, ο κανόνας μπορεί να παραμείνει σε production. Αν πάρετε 500 error, αφαιρέστε τις γραμμές ή επαναφέρετε το backup .htaccess.

Αποκλεισμός PHP στον wp-includes με Nginx

Σε Nginx (VPS, dedicated, managed servers), το .htaccess δεν λειτουργεί. Η ρύθμιση γίνεται στο site config file μέσα σε server block. Χρειάζεστε SSH και δικαιώματα για edit. Αν δεν είστε σίγουροι, ζητήστε βοήθεια από το support.

Προτεινόμενο Nginx location rule

Η βασική λογική:

location ~* ^/wp-includes/.*[.]php$ {
deny all;
}

Αυτό μπλοκάρει PHP requests στον wp-includes. Μετά την αλλαγή, κάντε config test:

nginx -t

Αν περάσει, κάντε reload:

systemctl reload nginx

Το reload είναι πιο ασφαλές από restart, γιατί δεν κόβει τις active συνδέσεις. Και εδώ, εφαρμόστε αλλαγές σε χαμηλή επισκεψιμότητα.

Σημεία προσοχής για Nginx

  • Βεβαιωθείτε ότι ο κανόνας μπαίνει στο σωστό server block – μπορεί να έχετε πολλά sites.
  • Αν έχετε CDN ή reverse proxy, καθαρίστε cache πριν δοκιμάσετε.
  • Ελέγξτε ότι το PHP-FPM χειρίζεται μόνο απαραίτητα αρχεία.
  • Δείτε τα logs – access.log και error.log δείχνουν γρήγορα αν υπάρχει πρόβλημα.

Λανθασμένη σειρά location μπορεί να προκαλέσει απρόβλεπτα αποτελέσματα. Ελέγξτε ότι δεν συγκρούεται με WordPress permalink ή PHP blocks.

Σύγκριση μεθόδων αποκλεισμού

Ο παρακάτω πίνακας συνοψίζει τις βασικές μεθόδους περιορισμού πρόσβασης στο wp-includes:

Σύγκριση μεθόδων αποκλεισμού
Μέθοδος Κατάλληλο Περιβάλλον Πλεονέκτημα Σημεία προσοχής
.htaccess rule Apache & LiteSpeed hosting Γρήγορη εφαρμογή, εύκολη πρόσβαση σε shared hosting Λάθος syntax οδηγεί σε 500 error
Nginx location rule VPS, dedicated, managed server Δυνατή και αποδοτική προστασία σε server level Χρειάζεται SSH και config γνώση
Security plugin Χρήστες με περιορισμένη τεχνική γνώση Εύκολη διαχείριση μέσω interface Όχι πάντα εφαρμόζεται σε server level
WAF & CDN Sites με μεγάλη επισκεψιμότητα ή επιθέσεις Φιλτράρει bots, brute force και κακόβουλα requests νωρίς Λανθασμένος κανόνας μπορεί να μπλοκάρει χρήστες
Δικαιώματα αρχείων Όλα τα WordPress sites Βασική security hygiene Δεν κλείνει την πρόσβαση μέσω URL

Η καλύτερη πρακτική είναι ο συνδυασμός: .htaccess ή Nginx rule, σωστά δικαιώματα, ενημερωμένο WordPress, SSL και backup. Firewall και isolation σε hosting είναι σημαντικά – δείτε Επαγγελματικό Hosting για sites με απαιτήσεις ασφάλειας.

Δικαιώματα αρχείων και ownership

Το κλείσιμο του wp-includes δεν αρκεί αν τα δικαιώματα αρχείων είναι λάθος. Standard τιμές: φάκελοι 755, αρχεία 644. Αυτά επιτρέπουν στο web server να διαβάζει τα αρχεία, αλλά περιορίζουν το write. Σε ειδικά hosting, τα ownership μπορεί να διαφέρουν – ακολουθήστε τις οδηγίες του panel.

Το 777 είναι μεγάλο ρίσκο – επιτρέπει σε όλους να γράφουν, ανοίγοντας τον δρόμο για κακόβουλα uploads. Ακόμα και σε wp-content/uploads, όπου πρέπει να γράφουν οι χρήστες, η εκτέλεση PHP πρέπει να είναι απενεργοποιημένη. Ο wp-includes δεν πρέπει να είναι writable από χρήστη, εκτός από updates.

Ελέγξτε τα εξής:

  • wp-includes φάκελος: 755
  • wp-includes PHP αρχεία: 644
  • wp-config.php: ιδανικά 600 ή πιο περιορισμένα, σύμφωνα με hosting
  • .htaccess: 644, χωρίς excessive write μετά το edit

Τα δικαιώματα μπορεί να μην συμπεριφέρονται ίδια σε κάθε server. Λάθος τιμές οδηγούν σε αδυναμία update ή read. Μετά την αλλαγή, κάντε health check και δείτε τα error logs.

Κάνουν τα security plugins αυτή τη δουλειά;

Plugins όπως Wordfence ή iThemes Security προτείνουν αυτόματα hardening κανόνες. Προσφέρουν brute force protection, file change monitoring, malware scan και login security. Όμως, πρέπει να ελέγξετε αν εφαρμόζουν αποκλεισμό στον wp-includes.

Κάποια προσθέτουν αυτόματα κανόνες στο .htaccess. Άλλα προστατεύουν μόνο σε application level – δηλαδή όταν το request φτάσει στο WordPress, όχι στον server. Άρα, καλύτερα να συνδυάζετε plugin και server config.

Αν χρησιμοποιείτε plugin:

  • Ελέγξτε αν προσθέτει .htaccess ή Nginx κανόνες.
  • Δείτε αν συγκρούονται δύο διαφορετικοί κανόνες.
  • Επιβεβαιώστε ότι μετά από update δεν αλλάζουν οι ρυθμίσεις ασφαλείας.
  • Παρακολουθήστε αν επηρεάζεται η απόδοση (cache, server resources).

Η ταυτόχρονη χρήση πολλών security plugins δεν είναι καλή ιδέα: firewall, login και rewrite conflicts προκαλούν επιβράδυνση ή λάθος blocks.

Έλεγχος προστασίας wp-includes: πρακτικό σενάριο

Δεν αρκεί να ανοίγει το site – ακολουθήστε αυτά τα 7 βήματα για testing από μικρά sites ως e-shop:

  • 1. Ανοίξτε το homepage σε incognito και δείτε αν υπάρχουν visual glitches.
  • 2. Επισκεφθείτε post, category και search page.
  • 3. Μπείτε στο wp-admin, ανοίξτε τον block editor και τη media library.
  • 4. Ελέγξτε το Console στα developer tools.
  • 5. Στο Network, βεβαιωθείτε ότι τα static αρχεία του wp-includes δεν μπλοκάρονται.
  • 6. Δοκιμάστε να καλέσετε PHP στον wp-includes – πρέπει να πάρετε 403 ή 404.
  • 7. Δείτε τα server logs για νέα ή επαναλαμβανόμενα errors.

Η διαδικασία παίρνει περίπου 5 λεπτά και ανιχνεύει γρήγορα misconfigurations. Σε WooCommerce sites, ελέγξτε καλά cart, checkout και account pages – ένα JS error μπορεί να μειώσει τα conversions.

Επιπλέον μέτρα Ασφάλειας WordPress φακέλων

Η προστασία του wp-includes είναι βασική, αλλά χρειάζεται ολιστική ασφάλεια:

  • Μην κρύβετε την WordPress έκδοση – κρατήστε το core ενημερωμένο.
  • Διαγράψτε μη χρησιμοποιούμενα themes και plugins.
  • Δύσκολο admin username για να μην γίνεται guess.
  • Χρησιμοποιήστε two-factor authentication.
  • Περιορίστε ή απενεργοποιήστε το XML-RPC αν δεν το χρειάζεστε.
  • Εφαρμόστε rate limit ή επιπλέον έλεγχο στο wp-login.php.
  • Κάντε automatic backups και δοκιμές restore.
  • Ενεργοποιήστε HTTPS παντού – χωρίς SSL, τα credentials είναι εκτεθειμένα.

Το SSL δεν αποκλείει άμεσα το wp-includes, αλλά προστατεύει sessions, forms και admin traffic. Είναι πάντα πρώτο layer στους οδηγούς ασφάλειας WordPress. Δείτε Αγοράστε Πιστοποιητικό SSL και Εγκατάσταση Δωρεάν SSL για σχετικές λύσεις.

Πότε χρειάζεστε επαγγελματική υποστήριξη;

Η προσθήκη .htaccess rule σε απλό Apache hosting είναι εύκολη για τους περισσότερους. Αλλά αν έχετε custom Nginx, multisite, WooCommerce shop, portal με traffic, ζητήστε expert support. Το security rule πρέπει να είναι τεχνικά σωστό, αλλά και να διασφαλίζει τη λειτουργία του site.

Ζητήστε βοήθεια αν:

  • Φιλοξενείτε πολλά WordPress sites στον ίδιο server.
  • Χρησιμοποιείτε Nginx, Varnish, CDN και WAF μαζί.
  • Μετά τις αλλαγές αυξάνονται τα 403, 404 ή 500 errors.
  • Το site έχει ιστορικό malware.
  • Διαχειρίζεστε πληρωμές, μέλη ή προσωπικά δεδομένα.

Ασφαλής hosting υποδομή, isolation, backup και expert support είναι “αόρατα” αλλά κρίσιμα στοιχεία ασφάλειας WordPress. Στην επιλογή hosting, μην κοιτάτε μόνο storage, αλλά και backup, firewall, PHP support, SSL διαχείριση και τεχνική υποστήριξη. Για λύσεις δείτε Hostragons πακέτα φιλοξενίας και Μεταφορά ιστότοπου WordPress.

Συμπέρασμα

Για ολοκληρωμένη Ασφάλεια Δομής WordPress, η σωστή μέθοδος είναι να μπλοκάρετε μόνο την εκτέλεση PHP στον wp-includes και να απενεργοποιείτε την προβολή καταλόγου – όχι να αποκλείετε τον φάκελο συνολικά. Με .htaccess ή location rules, η διαδικασία είναι γρήγορη. Πάντα κάντε backup πριν και thorough testing μετά.

Συνοπτικά: μην μπλοκάρετε τα static αρχεία, περιορίστε PHP, απενεργοποιήστε indexes, ελέγξτε τα δικαιώματα και κάνετε τακτικά updates. Για ασφαλή WordPress υποδομή, δείτε τις λύσεις hosting, domain και SSL της Hostragons και ζητήστε συμβουλή για την κατάλληλη ρύθμιση.

Συχνές Ερωτήσεις

Είναι ασφαλές να μπλοκάρω εντελώς τον wp-includes;

Όχι – ο φάκελος περιέχει απαραίτητα JS, CSS και στατικά αρχεία. Το πλήρες μπλοκάρισμα μπορεί να χαλάσει το site ή το admin panel. Ασφαλέστερη λύση είναι η απαγόρευση άμεσης πρόσβασης σε PHP αρχεία.

Παίρνω 500 error μετά την προσθήκη .htaccess rule – τι κάνω;

Αφαιρέστε τους τελευταίους κανόνες ή επαναφέρετε το backup .htaccess. Ελέγξτε το syntax. Αν συνεχίζεται το error, δείτε τα logs ή ζητήστε τεχνική υποστήριξη.

Λειτουργεί το .htaccess σε Nginx server;

Όχι. Το .htaccess αφορά μόνο Apache και LiteSpeed. Σε Nginx, εφαρμόστε αντίστοιχους κανόνες σε server block και κάντε test με nginx -t.

Αρκεί αυτό για πλήρη ασφάλεια WordPress;

Όχι. Ο αποκλεισμός PHP στον wp-includes είναι σημαντικό layer, αλλά χρειάζονται updates, ισχυροί κωδικοί, two-factor, SSL, backup, firewall και σωστά δικαιώματα.

Χρειάζεται να προσθέσω rule για wp-includes αν έχω security plugin;

Εξαρτάται από το plugin. Κάποια προσθέτουν κανόνες στο .htaccess, άλλα προστατεύουν μόνο σε application level. Το server-level limit είναι συνήθως πιο ισχυρό, αλλά προσοχή σε conflicts.

Κοινοποιήστε αυτό το άρθρο:

Η Ομάδα της Hostragons

Ενημερωμένοι οδηγοί από την ομάδα των ειδικών μας σχετικά με τη φιλοξενία, τους διακομιστές και τα ονόματα τομέα. Ας βρούμε μαζί τη σωστή λύση για το έργο σας.

Επικοινωνήστε Μαζί Μας