Πώς να αντιμετωπίσετε ένα χακαρισμένο WordPress website

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

ΣΗΜΑΝΤΙΚΟ: Πριν κάνετε οποιεσδήποτε αλλαγές, δημιουργήστε ένα πλήρες αντίγραφο ασφαλείας της ιστοσελίδας σας. 

ΠΑΡΑΚΑΛΟΥΜΕ ΣΗΜΕΙΩΣΤΕ: Για να μειώσετε τον κίνδυνο μελλοντικών παραβιάσεων WordPress, να σκανάρετε τακτικά τον λογαριασμό φιλοξενίας σας με ένα εργαλείο antivirus, να αφαιρείτε κακόβουλα ή ύποπτα αρχεία και να διατηρείτε όλα τα πρόσθετα και τα θέματα της ιστοσελίδας σας ενημερωμένα στις τελευταίες εκδόσεις τους.

  1. Απουσιάζουν τα προεπιλεγμένα αρχεία

  2. Πώς να αντικαταστήσετε τα αρχεία WordPress που λείπουν

  3. Πώς να αντικαταστήσετε όλα τα προεπιλεγμένα αρχεία WordPress

  4. Απουσιάζουν αρχεία θέματος ή προσθέτων

  5. Κακόβουλες ανακατευθύνσεις

Απουσιάζουν τα προεπιλεγμένα αρχεία

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

Εάν τα βασικά αρχεία του WordPress σας μολυνθούν, μπορεί να αντιμετωπίσετε συμπτώματα όπως:

  • Κενή σελίδα·

  • Σφάλμα 500 Internal Server Error·

  • Ένα «Αυτός ο ιστότοπος αντιμετωπίζει τεχνικά προβλήματα» σφάλμα (εισήχθη στο WordPress 5.2.2)·

  • Ή άλλα παρόμοια σφάλματα.

Για να διορθώσετε αυτό το πρόβλημα, ακολουθήστε απλώς τα παρακάτω βήματα.

Ελέγξτε το αρχείο error_log της ιστοσελίδας σας

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

Μπορείτε να το βρείτε στον λογαριασμό σας στο cPanel > το μενού “File Manager” > τον ριζικό φάκελο της εγκατάστασης του WordPress σας. 

Αφού αποκτήσετε πρόσβαση στον ριζικό φάκελο του domain, αναζητήστε το αρχείο error_log. Εάν υπάρχει, ακολουθήστε τα εξής βήματα:

  1. Κάντε δεξί κλικ στο αρχείο και επιλέξτε Προβολή:


  2. Μέσα στο αρχείο καταγραφής, μπορεί να δείτε ένα σφάλμα όπως: «Δεν υπάρχει τέτοιο αρχείο ή φάκελος στο…», ακολουθούμενο από τη διαδρομή του αρχείου που λείπει. Αυτό υποδεικνύει ότι λείπει ένα απαραίτητο αρχείο και εμποδίζει τη σωστή λειτουργία της ιστοσελίδας.

    Για παράδειγμα:

    /home/cPuser/public_html/wp-settings.php

  3. Για να επαναφέρετε το αρχείο που λείπει, μετακινηθείτε στην ενότητα "Πώς να αντικαταστήσετε τα αρχεία που λείπουν" αυτού του οδηγού.

Ενεργοποιήστε την επιλογή PHP display_errors

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

Σημαντικό: Για λόγους ασφαλείας, βεβαιωθείτε ότι απενεργοποιείτε το display_errors μόλις ολοκληρώσετε την αντιμετώπιση προβλημάτων.

Μπορείτε να ενεργοποιήσετε την επιλογή PHP με τους εξής τρόπους:

  • Μέσω php.ini 

Εκτός από το μενού “PHP Tweaks” του cPanel, μπορείτε επίσης να προσαρμόσετε ορισμένες ρυθμίσεις για μια ιστοσελίδα απευθείας μέσω ενός αρχείου php.ini προσθέτοντας/επεξεργάζοντας τις αντίστοιχες γραμμές εκεί. 

Για να ενεργοποιήσετε την επιλογή display_errors, θα χρειαστεί να προσθέσετε την παρακάτω γραμμή στο αρχείο:

display_errors=1

Μπορείτε είτε να δημιουργήσετε ένα νέο αρχείο php.ini στον ριζικό φάκελο της ιστοσελίδας και να προσθέσετε εκεί τη γραμμή είτε να τροποποιήσετε το αρχείο που δημιουργείται από το σύστημα ακολουθώντας τα παρακάτω βήματα.

  1. Συνδεθείτε στον λογαριασμό σας στο cPanel και μεταβείτε στο μενού “File Manager”.

  2. Βεβαιωθείτε ότι η επιλογή “Show Hidden Files (dotfiles)” είναι ενεργοποιημένη στις ρυθμίσεις:


  3. Μεταβείτε στον εξής φάκελο:  /home/cPanel_user/.system-php/ini


  4. Επιλέξτε την έκδοση PHP που έχει εκχωρηθεί στο domain σας και στη συνέχεια επιλέξτε τον φάκελο του domain. Για παράδειγμα, η πλήρης διαδρομή μπορεί να είναι:

    /home/cPanel_user/.system-php/ini/7.0/testwebsite.com

  5. Κάντε δεξί κλικ στο αρχείο php.ini και επιλέξτε Επεξεργασία.

  6. Προσθέστε την παρακάτω γραμμή στο αρχείο:

    display_errors=1

  • Μέσω .htaccess


Για να ενεργοποιήσετε την επιλογή PHP display_errors μέσω του αρχείου .htaccess, θα χρειαστεί να επεξεργαστείτε το αρχείο μέσα στον ριζικό φάκελο της ιστοσελίδας στο “File Manager” και να προσθέσετε εκεί την παρακάτω γραμμή:

php_value display_errors 1

Τα αναλυτικά βήματα για τον εντοπισμό του αρχείου .htaccess μπορείτε να τα βρείτε σε αυτό το άρθρο. 

Αφού κάνετε τις αλλαγές σας, κάντε κλικ στο Αποθήκευση.

Πώς να αντικαταστήσετε τα αρχεία WordPress που λείπουν

Το WordPress χρησιμοποιεί μια απλή και οργανωμένη δομή αρχείων, γεγονός που καθιστά σχετικά εύκολη την επαναφορά αρχείων που λείπουν ή έχουν καταστραφεί. Η αντικατάσταση των προεπιλεγμένων βασικών αρχείων συνιστάται έντονα, καθώς διασφαλίζει ότι όλα τα αρχεία που έχουν παραβιαστεί από κακόβουλο λογισμικό αποκαθίστανται πλήρως. Ωστόσο, προχωρήστε με προσοχή: η αντικατάσταση ορισμένων αρχείων ή φακέλων μπορεί να οδηγήσει σε απώλεια δεδομένων εάν δεν γίνει σωστά.

Ακολουθήστε τα παρακάτω βήματα για να αντικαταστήσετε τα αρχεία WordPress που λείπουν:

  1. Συνδεθείτε στο cPanel σας και μεταβείτε στο Softaculous Apps Installer.

  2. Δημιουργήστε μια νέα εγκατάσταση WordPress σε έναν προσωρινό υποφάκελο. Για να το κάνετε αυτό, κάντε κλικ στο εικονίδιο WordPress και στη συνέχεια επιλέξτε Εγκατάσταση:


  3. Θα μεταφερθείτε στη σελίδα ρυθμίσεων εγκατάστασης. Εκεί, επιλέξτε το όνομα του domain από το αναπτυσσόμενο μενού και εισαγάγετε το όνομα ενός υποφακέλου στο πεδίο In Directory.

    Σε αυτό το παράδειγμα, χρησιμοποιούμε τον υποφάκελο ” fix” για την εγκατάσταση του WordPress:


    ΣΗΜΕΙΩΣΗ: Η αντικατάσταση όλων των προεπιλεγμένων αρχείων θα ενημερώσει την υπάρχουσα εγκατάστασή σας στην έκδοση που χρησιμοποιείται στην προσωρινή εγκατάσταση “fix” και η ανάμειξη αρχείων από διαφορετικές εκδόσεις μπορεί να προκαλέσει συγκρούσεις συστήματος και να διακόψει τη λειτουργικότητα του ιστότοπου.

    Εάν είναι σημαντικό να διατηρήσετε την τρέχουσα έκδοση του WordPress ή αν σκοπεύετε να αντικαταστήσετε μόνο συγκεκριμένα αρχεία, ελέγξτε την έκδοση του ιστότοπού σας μέσα στο αρχείο /wp-includes/version.php και βεβαιωθείτε ότι η νέα εγκατάσταση χρησιμοποιεί την ίδια έκδοση WordPress:


  4. Μπορείτε να επιλέξετε την έκδοση WordPress για τη νέα εγκατάσταση απευθείας στο παράθυρο εγκατάστασης:


  5. Αφού ρυθμίσετε όλες τις παραμέτρους, κάντε κλικ στο Γρήγορη εγκατάσταση ή μετακινηθείτε στο κάτω μέρος της σελίδας εγκατάστασης και κάντε κλικ στο Εγκατάσταση. 

  6. Μετά την ολοκλήρωση της νέας εγκατάστασης WordPress, τα αρχεία της θα εμφανιστούν στο “File Manager” > τον ριζικό φάκελο του domain σας. Ανοίξτε τον φάκελο κάνοντας διπλό κλικ:


  7. Για να αντικαταστήσετε ένα συγκεκριμένο αρχείο που λείπει (π.χ. wp-settings.php), εντοπίστε το αρχείο αυτό στον φάκελο της νέας εγκατάστασης.

  8. Στη συνέχεια, μετακινήστε το αρχείο στον τρέχοντα ριζικό φάκελο της ιστοσελίδας σας κάνοντας δεξί κλικ στο αρχείο > κάντε κλικ στο Μετακίνηση > εισάγετε τη διαδρομή προς τον ριζικό φάκελο της ιστοσελίδας σας > κάντε κλικ στο Μετακίνηση αρχείου(ων): 


  9. Μόλις ολοκληρωθεί, το αρχείο που έλειπε έχει αποκατασταθεί και η ιστοσελίδα σας θα πρέπει πλέον να φορτώνει κανονικά.

Πώς να αντικαταστήσετε όλα τα προεπιλεγμένα αρχεία WordPress

Κατά τη διαδικασία αντικατάστασης όλων των προεπιλεγμένων αρχείων WordPress για μια ιστοσελίδα, τα βήματα 1-6 είναι τα ίδια με την ενότητα “Πώς να αντικαταστήσετε τα αρχεία WordPress που λείπουν”. 

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

  1. Ανοίξτε τον ριζικό φάκελο της νέας εγκατάστασης WordPress:


  2. Μέσα στον φάκελο της νέας εγκατάστασης, διαγράψτε τα παρακάτω αρχεία και φακέλους:


    • .htaccess

    • wp-config.php

    • wp-content

      Αυτά τα αρχεία και οι φάκελοι περιέχουν τη διαμόρφωση και το περιεχόμενο του ιστότοπού σας και πρέπει να παραμείνουν αμετάβλητα.

  3. Στη συνέχεια, μετακινήστε τα υπόλοιπα αρχεία στον ριζικό φάκελο της κύριας ιστοσελίδας σας. Για αυτό, χρησιμοποιήστε το κουμπί Επιλογή όλων > κάντε κλικ στο Μετακίνηση > εισάγετε τη διαδρομή προς τον ριζικό φάκελο του ιστότοπού σας > κάντε κλικ στο Μετακίνηση αρχείου(ων):


  4. Τα βασικά αρχεία του WordPress έχουν αντικατασταθεί πλήρως. Επισκεφθείτε την ιστοσελίδα σας για να επιβεβαιώσετε ότι όλα φορτώνουν σωστά.

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

Απουσιάζουν αρχεία θέματος ή προσθέτων

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

Εάν λείπουν αρχεία προσθέτων ή θέματος του WordPress, μπορεί να αντιμετωπίσετε:

  • Κενή σελίδα·

  • Σφάλμα 500 Internal Server Error·

  • Ένα «Αυτός ο ιστότοπος αντιμετωπίζει τεχνικά προβλήματα» σφάλμα (εισήχθη στο WordPress 5.2.2)·

  • Μια μερικώς φορτωμένη ή οπτικά «σπασμένη» σελίδα.

Για βοήθεια στη διάγνωση του προβλήματος, ανατρέξτε στις ακόλουθες ενότητες αυτού του άρθρου: Ελέγξτε το αρχείο error_log της ιστοσελίδας σας και Ενεργοποιήστε την επιλογή PHP display_errors.

Μπορεί να δείτε μηνύματα σφάλματος παρόμοια με τα παρακάτω στο error_log ή απευθείας στην ιστοσελίδα:

PHP Fatal error: Uncaught Error: Call to undefined function sample_function() in /home/cPaneluser/...

Παρακάτω είναι ένα παράδειγμα σφάλματος που προκαλείται από κατεστραμμένο ή ελλείπον αρχείο προσθέτου:


Για να επαναφέρετε το αρχείο που λείπει, απλώς επανεγκαταστήστε το θέμα ή το πρόσθετο που επηρεάζεται.

ΣΗΜΕΙΩΣΗ: Τα αρχεία functions.php που λείπουν σε θέματα συχνά σχετίζονται με το κακόβουλο λογισμικό wp-vcd.php, το οποίο βρίσκεται συνήθως στον φάκελο /wp-includes. Πριν εγκαταστήσετε ένα νέο θέμα, αφαιρέστε το wp-vcd.php αν υπάρχει ή, αν θέλετε να διασφαλίσετε πλήρη ασφάλεια, αντικαταστήστε όλα τα προεπιλεγμένα αρχεία WordPress όπως περιγράφεται νωρίτερα.

Κακόβουλες ανακατευθύνσεις

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

ΣΗΜΕΙΩΣΗ: Μην κάνετε ποτέ κλικ σε καμία από τις ανακατευθυνόμενες συνδέσεις. Κάτι τέτοιο μπορεί να μολύνει τον προσωπικό σας υπολογιστή με κακόβουλο λογισμικό:


Για να διορθώσετε τις κακόβουλες ανακατευθύνσεις, ακολουθήστε τα παρακάτω βήματα:

  1. Εντοπίστε ένα αρχείο ρυθμίσεων βάσης δεδομένων για την ιστοσελίδα σας - wp-config.php στο cPanel σας > File Manager > τον ριζικό φάκελο της ιστοσελίδας. Ανοίξτε το αρχείο και βρείτε το όνομα της βάσης δεδομένων της ιστοσελίδας εκεί:


  2. Στη συνέχεια, ανοίξτε τη βάση δεδομένων που έχει εκχωρηθεί στην ιστοσελίδα σας στο μενού phpMyAdmin του cPanel σας κάνοντας κλικ σε αυτό, και μεταβείτε στον πίνακα wp_options («wp_» είναι το προεπιλεγμένο πρόθεμα· το δικό σας μπορεί να διαφέρει):


  3. Ελέγξτε τις τιμές των πεδίων siteurl και home και αν δείτε κακόβουλες ή ύποπτες διευθύνσεις URL εκεί, αντικαταστήστε τις με το πραγματικό όνομα domain σας: 


  4. Σαρώστε το υπόλοιπο της βάσης δεδομένων σας για παρόμοιες κακόβουλες διευθύνσεις URL και αντικαταστήστε τις ανάλογα. 

  5. Αντικαταστήστε προσωρινά το τρέχον .htaccess με μια καθαρή προεπιλεγμένη έκδοση. Είναι καλύτερο να μετονομάσετε το υπάρχον αρχείο (π.χ. .htaccess_old) και να δημιουργήσετε ένα νέο από την αρχή.

    Για να μετονομάσετε το αρχείο, κάντε διπλό κλικ > επιλέξτε Μετονομασία από τη λίστα > εισάγετε νέο όνομα αρχείου > και πατήστε Μετονομασία αρχείου.

    Στη συνέχεια, για να δημιουργήσετε νέο αρχείο, κάντε κλικ στο + Αρχείο > ονομάστε το .htaccess > και επιλέξτε Δημιουργία νέου αρχείου.

  6. Αφού δημιουργηθεί το νέο .htaccess, επεξεργαστείτε το κάνοντας δεξί κλικ > επιλέξτε Επεξεργασία από τη λίστα. Μόλις ανοίξει το παράθυρο επεξεργασίας, επικολλήστε τους παρακάτω προεπιλεγμένους κανόνες WordPress στο αρχείο:

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress

  7. Κάντε κλικ στο Αποθήκευση αλλαγών.

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

Μπορείτε επίσης να απενεργοποιήσετε προσωρινά όλα τα πρόσθετα μέσω του πίνακα ελέγχου του WordPress ή της βάσης δεδομένων και να τα ενεργοποιείτε ένα-ένα. Μόλις ενεργοποιηθεί κάθε πρόσθετο, ελέγξτε την ιστοσελίδα για να εντοπίσετε ποιο προκαλεί το πρόβλημα της κακόβουλης ανακατεύθυνσης.

Απαιτείται έγκυρο email