Πώς να προστατέψουμε το Website μας μέσω του .htaccess – Part 1

Πώς να προστατέψουμε το Website μας μέσω του .htaccess – Part 1

 

Το htaccess είναι το αρχείο ρύθμισης του Apache web server το οποίο μπορούμε να επεξεργαστούμε για να προσαρμόσουμε τον Server και το WordPress στις δικές μας ανάγκες.

Ανάλογα με το πακέτο φιλοξενίας που διαθέτουμε έχουμε περισσότερες ή λιγότερες δυνατότητες παραμετροποίησης (πχ σε VM και Dedicated η παραμετροποίηση είναι πλήρης ενώ αντιθέτως σε πακέτα διαμοιραζόμενης φιλοξενίας η παραμετροποίηση είναι περιορισμένη).

Ακολουθούν μερικά χρήσιμα παραδείγματα με ρυθμίσεις που μπορούμε να εφαρμόσουμε στο .htaccess γενικά αλλά και συγκεκριμένα για WordPress sites (ανακάλυψε wordpress hosting πακέτα).

 

  1. Αφαίρεσε το /category/ από τα url

Τα WordPress category permalinks, από προεπιλογή, εμφανίζονται ως εξής:

http://www.yourdomain.gr/blog/category/wordpress

Για να αφαιρέσεις το /category/ από τα WordPress URL, φρόντισε αρχικά να κρατήσεις ένα backup του .htaccess file. Στη συνέχεια, άνοιξε το .htaccess αρχείο και μέσα σε αυτό, επικόλλησε το παρακάτω:

RewriteRule ^category/(.+)$ http://www.yourblog.com/$1 [R=301,L]

Αφού κάνεις save, οι σελίδες των κατηγοριών θα εμφανίζονται ως εξής:

http://www.yourdomain.gr/blog/wordpress

 

  1. Χρησιμοποίησε το Browser Cache

Μπορείς να κάνεις το site σου ακόμη πιο γρήγορο και να μειώσεις το loading time χρησιμοποιώντας το Browser Cache.

Ο παρακάτω κώδικας δεν κάνει άμεση επέμβαση στο loading speed αλλά βελτιώνει την ταχύτητα εμφάνισης της σελίδας όταν κάποιος χρήστης την επισκέπτεται ξανά.

Δηλαδή, εάν ο χρήστης έχει επισκεφθεί κάποια σελίδα του site σου στο παρελθόν, το περιεχόμενο θα φορτώσει από την τοπική cache του browser του και άρα θα χρειαστεί λιγότερος χρόνος για να φορτώσει το website.

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/jpg “access 1 year”

ExpiresByType image/jpeg “access 1 year”

ExpiresByType image/gif “access 1 year”

ExpiresByType image/png “access 1 year”

ExpiresByType text/css “access 1 month”

ExpiresByType application/pdf “access 1 month”

ExpiresByType text/x-javascript “access 1 month”

ExpiresByType application/x-shockwave-flash “access 1 month”

ExpiresByType image/x-icon “access 1 year”

ExpiresDefault “access 2 days”

</IfModule>

 

 3. Απενεργοποίησε το hotlinking

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

Για να απαγορεύσεις σε κάποιον να μπορεί να χρησιμοποιεί την τεχνική hotlinking και άρα να φορτώνει αρχεία από το δικό σου site στο δικό του με αυτόν τον τρόπο, χρησιμοποίησε τον παρακάτω κώδικα:

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your «don’t hotlink» image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

 

  1. Μπλόκαρε μια IP

Συνήθως μπλοκάρουμε IPs των Spammers που προσθέτουν comments στη σελίδα μας με Links! Μπορείς να μπλοκάρεις μία IP ώστε να μην επιτρέπεις την πρόσβαση του συγκεκριμένου χρήστη στη σελίδα σου, με τον παρακάτω κώδικα:

<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

Χρειάζεται να είσαι ιδιαίτερα προσεκτικός με τις αλλαγές που κάνεις στο .htaccess file, καθώς ενδέχεται οι αλλαγές να μην λειτουργήσουν απευθείας ή να δημιουργήσεις κάποιο πρόβλημα, χωρίς να το θέλεις.

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

 

  1. Ανακατεύθυνση σε https

Εφόσον πλέον έχει εγκατασταθεί το SSL πιστοποιητικό, θα πρέπει να τροποποιηθούν όλα τα links από http σε https.

Ένας τρόπος για να ολοκληρωθεί η ανακατεύθυνση, είναι ο ακόλουθος κώδικας στο .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
</IfModule>

 

  1. Απόκρυψη έκδοσης WordPress

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

Με τον ακόλουθο κώδικα, κρύβουμε το αρχείο readme.html στο οποίο περιέχεται και η έκδοση του WordPress που χρησιμοποιούμε

<files readme.html>
Deny from all
</files>

 

  1. Απόκρυψη wpconfig.php

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

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

<files wp-config.php>
order allow,deny
deny from all
</files>

Διαβάστε το part 2 για ακόμα περισσότερες πληροφορίες.

Please wait loading