.htaccess

Το .htaccess (το οποίο είναι τα αρχικά hypertext access και μεταφράζεται ως πρόσβαση υπερκειμένου) είναι ένα αρχείο ρυθμίσεων σε επίπεδο καταλόγου το οποίο υποστηρίζεται από διάφορους διακομιστές σελίδων διαδικτύου, και επιτρέπει αποκεντρωμένο έλεγχο πρόσβασης του ιστοχώρου.

Ο αρχική χρήση του .htaccess - το οποίο φαίνεται και αυτό από το όνομά του (μεταφράζεται ως πρόσβαση υπερκειμένου) - ήταν να επιτρέπεται σε κάθε κατάλογο μιας ιστοσελίδας στον διακομιστή ξεχωριστές ρυθμίσεις πρόσβασης. Για παράδειγμα, με ένα κατάλληλα ρυθμισμένο αρχείο .htaccess σε ένα κατάλογο μπορεί να απαιτείται κωδικός για πρόσβαση στο περιεχόμενο. Στις μέρες μας, τα αρχεία .htaccesss χρησιμοποιούνται για προσαρμογή μιας ειδικής ρύθμισης πρόσβασης (π.χ. νέες ρυθμίσεις για το τύπο περιεχομένου, τη κωδικοποίηση χαρακτήρων ή τους χειριστές CGI κλπ) για ένα συγκεκριμένο κατάλογο ή οποία μπορεί να διαφέρει από την γενική ρύθμισης που ισχύει για όλους του καταλόγους της ιστοσελίδας.

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

Μορφή αρχείου
Για ιστορικούς λόγους η μορφή ενός αρχείου ρυθμίσεων .htaccess είναι το ίδιο με το γενικό αρχείο ρυθμίσεων του Apache HTTP εξυπηρετητή  ακόμη και όταν αυτό χρησιμοποιείται σε διακομιστές ιστοσελίδων άλλης τεχνολογίας όπως Oracle iPlanet  ή Zeus  οι οποίοι έχουν κεντρικό αρχείο ρυθμίσεων με μορφή διαφορετική από αυτή του .htaccess.

Συνήθεις χρήσεις
 Εξουσιοδότηση, Πιστοποίηση τα αρχεία .htaccess χρησιμοποιούνται συχνά για να επιβάλλουν συγκεκριμένους περιορισμούς ασφάλειας σε συγκεκριμένους καταλόγους, όπως φαίνεται και από το όνομα του αρχείου "access" (που μεταφράζεται ως πρόσβαση). Τα αρχεία αυτά συχνά συσχετίζονται με τα αρχεία .htpasswd στα οποία αποθηκεύονται τα ονόματα χρηστών μαζί με τους κωδικούς πρόσβασης.

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

 Μπλοκάρισμα Χρησιμοποιούνται για να επιτρέπουν/μπλοκάρουν χρήστες με συγκεκριμένη IP ή όνομα τομέα. Επίσης χρησιμοποιούνται για να μπλοκαριστούν ανεπιθύμητα bots. Συχνά χρησιμοποιούνται για να περιορίσουν την πρόσβαση σε bots μηχανών αναζήτησης.

 SSI Ενεργοποίηση Server Side Includes (SSI).

 Ρύθμιση σελίδας σφάλματος Αλλαγή της σελίδας η οποία θα εμφανίζεται όταν παρουσιάζεται ένα σφάλμα από την πλευρά του διακομιστή ιστοσελίδων. Ένα τέτοιο παράδειγμα είναι η σελίδα HTTP 404 Not Found.

 MIME types αρχείο ρυθμίσεων για διαχείριση των διαφορετικών αρχείων μέσων.

 Cache Control Το αρχείο .htaccess επιτρέπει τον έλεγχο χρήστης προσωρινής μνήμης (cache) του φυλλομετρητή και την χρήση των proxies, έλεγχο της κίνησης του διακομιστής ιστοσελίδας και της καθυστέρησης εξυπηρέτησης.

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

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

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

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

Παραπομπές

Εξωτερικοί σύνδεσμοι
 Apache Docs Εισαγωγή: τα .htaccess αρχεία  
 Ιστοσελίδα online δημιουργίας αρχείων .htpasswd 

Παγκόσμιος ιστός