.htaccess Συμβουλές και τεχνάσματα για Αρχάριους

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

Ας δούμε πως

html-code .htaccess

Αν χρειάζεστε σχετικά με το τι είναι ένα αρχείο .htaccess, μπορείτε να διαβάσετε σχετικά άρθρα στο Wikipedia τα οποία είναι αρκετά επεξηγηματικά.

Ας δούμε μερικά χρήσιμα κόλπα του .htaccess που σίγουρα κάποιο από όλα θα σας ενδιαφέρει….

Ανακατεύθυνση των χρηστών σε προσαρμοσμένες σελίδες σφαλμάτων

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

Αυτό μπορεί να είναι ένα αρχείο κειμένου, μια σελίδα , ένα script Perl, ή ότι άλλο θέλετε, για όσο διάστημα ο διακομιστής είναι σε θέση να αναγνώσει το κείμενο σας και να το στείλει στον χρήστη (στα παρακάτω παράδειγμα τους ανακατευθύνουμε σε δικές μας html σελίδες).

 
ErrorDocument 401 /error_pages/401.html
 ErrorDocument 403 /error_pages/403.html
 ErrorDocument 404 /error_pages/404.html
 ErrorDocument 500 /error_pages/500.html

Βεβαιωθείτε ότι οι σελίδες με www και χωρίς www  δείχνουν το ίδιο πράγμα
Το “www” δεν είναι υποχρεωτικό πλέον σε διευθύνσεις URL, αλλά υπάρχουν περιπτώσεις όπου η WWW και η χωρίς-WWW εκδόσεις ενός ιστότοπου μπορεί να οδηγήσουν σε διαφορετικές θέσεις. Αυτό μπορεί να οφείλεται σε μια κακή ρύθμιση του διακομιστή, σε λάθος  ρυθμίσεις του DNS, ή σε προβληματικούς λογαριασμούς φιλοξενίας. Για να αποφευχθεί αυτή η κατάσταση, αποθηκεύστε το παρακάτω κείμενο στο αρχείο .htaccess και θα λύσει το πρόβλημα

 
## ΑΝΑΚΑΤΕΥΘΥΝΣΗ ΤΟΥ ΧΩΡΙΣ-WWW σε WWW
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^iguru\.gr
 RewriteRule (.*) https://iguru.gr/$1 [R=301,L]

Για το σκοπό αυτό, θα πρέπει πρώτα το mod_rewrite να είναι ενεργοποιημένο στον server σας και, επίσης, πρέπει να βεβαιωθείτε ότι η γραμμή “RewriteEngine On” είναι παρούσα κάπου μέσα στο .htaccess αρχείο σας. Εμείς το έχουμε ενσωματώσει ήδη στο κώδικα για την περίπτωση που δεν το έχετε ήδη ενεργοποιήσει.

Η αντίστροφη διαδικασία είναι η εξής (δηλαδή η ανακατεύθυνση της :

 
## ΑΝΑΚΑΤΕΥΘΥΝΣΗ ΤΟΥ WWW σε ΧΩΡΙΣ-WWW
 RewriteEngine On
 RewriteCond %{HTTP_HOST} ^www\.iguru\.gr
RewriteRule (.*) https://iguru.gr/$1 [R=301,L]

Σημείωση: φροντίστε να αλλάξετε το όνομα του ισοτόπου μας με το δικό σας διαφορετικά θα δείτε τα κλικς προς το site σας να μειώνονται δραματικά !!!!!!!!  :)

Στείλτε τους χρήστες σε ένα subdomain σας
Μερικές φορές μπορεί να θέλετε να στείλετε τους χρήστες σας σε ένα προσαρμοσμένο subdomain σας. Αυτό μπορεί να γίνει εύκολα και γρήγορα χρησιμοποιώντας το .htaccess.

 
RewriteEngine On
 RewriteCond %{HTTP_HOST} !^$
 RewriteCond %{HTTP_HOST} !^subdomain\.domain\.com$ [NC]
 RewriteRule ^/(.*)$ http://subdomain.domain.com/$1 [L,R=301]

HTTP σε HTTPS ανακατευθύνσεις
Δεν είναι τόσο απλό. O αναπροσανατολισμός των χρηστών με την έκδοση HTTPS του site σας δεν το κάνει αυτόματα “ασφαλές”. Θα πρέπει να εξετάσουμε την εφαρμογή SSL για αυτό.

 
RewriteEngine On
 RewriteCond %{HTTPS} off
 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

Αρχεία πολυμέσων δύναμη για να κατεβάσετε στον browser του χρήστη
Ορισμένα προγράμματα περιήγησης (ή αν θέλετε τώρα πια σχεδόν όλα) έχουν την τάση να αναγκάζουν τα αρχεία να ανοίγουν με κάποια εσωτερική εφαρμογή τους, αντί να επιτρέπουν στους χρήστες απλά να τα κατεβάσουν. Για να βεβαιωθείτε ότι το αρχείο είναι αποθηκευμένο σε τοπικό επίπεδο κάθε φορά (δηλαδή στον υπολογιστή του χρήστη), και δε είναι σε συνεχή ροή προς τον χρήστη, γεγονός που “τρώει” bandwidth, αυτό το τέχνασμα μπορεί να βοηθήσει:

 
AddType application/octet-stream .pdf
 AddType application/octet-stream .avi
 AddType application/octet-stream .mp3

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

Προστατεύστε τα αρχεία σας από το hotlinking
Ναι, είναι τόσο απλό να προστατεύσετε τα αρχεία σας από το hotlinked στο Web. Πιθανά να σκεφτείτε ότι η προστασία αυτή απαιτεί πολύπλοκες PHP λύσεις ή λύσεις που βασίζεται σε JavaScript, χρήματα για να πληρώσετε τους προγραμματιστές, πολύ χρόνο για να προσθέσετε το κάθε αρχείο σε διάφορα firewalls και πίνακες, αλλά όχι, δεν χρειάζονται παρά μόνο αυτές οι τρεις γραμμές κώδικα.

 
RewriteEngine On
 RewriteCond %{HTTP_REFERER} !^
 RewriteCond %{HTTP_REFERER} !^http://(www\.)?iguru\.gr/ [nc]
 RewriteRule .*\.(gif|jpg|png)$ https://iguru.gr/bullshit_hotlink_image.png [nc]

Συμπίεση κειμένου, HTML, JavaScript, CSS, και ο κώδικας XML
Το παρακάτω απόσπασμα είναι για Apache servers και θα συμπιέσει αυτόματα αρχεία HTML, JavaScript, CSS, και XML, όταν τα στέλνει προς τους χρήστες σας.

 

 AddOutputFilterByType DEFLATE text/plain
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE text/xml
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE text/x-component
 AddOutputFilterByType DEFLATE application/xml
 AddOutputFilterByType DEFLATE application/xhtml+xml
 AddOutputFilterByType DEFLATE application/rss+xml
 AddOutputFilterByType DEFLATE application/javascript
 AddOutputFilterByType DEFLATE application/x-javascript
 

Απενεργοποιήστε την περιήγηση σε καταλόγους σε οποιαδήποτε ιστοσελίδα
Ανεξάρτητα από το χρησιμοποιείτε το αρχείο .htaccess στο WordPress, Drupal, Joomla, ή με Java, Python, ή με κώδικα Ruby, η ακόλουθη γραμμή κώδικα στο .htaccess αρχείο σας θα αποτρέψει οποιονδήποτε χρήστη από την εξερεύνηση των καταλόγων του ιστότοπού σας και την δημόσια θέαση των αρχείων που έχουν αποθηκευτεί στο εσωτερικό τους.

 
Options -Indexes

Απενεργοποιήστε την εκτέλεση PHP μέσα σε ένα φάκελο ή για ένα συγκεκριμένο αρχείο
Χρησιμοποιώντας τις δυνατότητες φιλτραρίσματος αρχείων του .htaccess, οι webmasters μπορούν να στοχεύσουν αρχεία PHP (HTML, JavaScript, εικόνες, κλπ), και στη συνέχεια να “κάνουν κάτι” σε αυτά. Επειδή γενικά τις περισσότερες φορές οι webmasters θέλουν να εμποδίσουν την πρόσβαση χρησιμοποιώντας αρχεία .htaccess, αυτό το μικρό απόσπασμα μπορεί να είναι αρκετά χρήσιμο.

 
#ΟΛΑ ΤΑ PHP ΑΡΧΕΙΑ
 
 deny from all
 
 #ΚΑΠΟΙΟ ΣΥΓΚΕΚΡΙΜΕΝΟ PHP ΑΡΧΕΙΟ
 
 deny from all
 

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

 

 order allow,deny
 #ΑΠΑΓΟΡΕΥΣΗ (BAN) ΜΙΑΣ IP
 deny from xxx.xxx.xxx.xxx
 #ΑΠΑΓΟΡΕΥΣΗ (BAN) ΟΛΟΚΛΗΡΗΣ ΚΑΤΗΓΟΡΙΑΣ ΑΠΟ IPS
 deny from xxx.xxx.xxx.xxx/24
 allow from all 

Σημείωση: όπου xxx αντίστοιχα νούμερα των IPS που θέλετε να πετάξετε έξω

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

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news

Written by Δημήτρης

O Δημήτρης μισεί τις Δευτέρες.....

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται.

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).


  +  10  =  20