.htaccess

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

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

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

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

Εξουσιοδότηση, Πιστοποίηση
τα αρχεία .htaccess χρησιμοποιούνται συχνά για να επιβάλλουν συγκεκριμένους περιορισμούς ασφάλειας σε συγκεκριμένους καταλόγους, όπως φαίνεται και από το όνομα του αρχείου "access" (που μεταφράζεται ως πρόσβαση). Τα αρχεία αυτά συχνά συσχετίζονται με τα αρχεία .htpasswd στα οποία αποθηκεύονται τα ονόματα χρηστών μαζί με τους κωδικούς πρόσβασης.[5]
Μηχανή χειρισμού URL
Οι διακομιστές ιστοσελίδων συχνά χρησιμοποιούν τα αρχεία .htaccess για να χειριστούν μεγάλα σε μέγεθος URL, τα οποία αλλάζουν σε άλλα μικρότερα ή ευκολότερα για απομνημόνευση.
Μπλοκάρισμα
Χρησιμοποιούνται για να επιτρέπουν/μπλοκάρουν χρήστες με συγκεκριμένη IP ή όνομα τομέα. Επίσης χρησιμοποιούνται για να μπλοκαριστούν ανεπιθύμητα bots. Συχνά χρησιμοποιούνται για να περιορίσουν την πρόσβαση σε bots μηχανών αναζήτησης.
SSI
Ενεργοποίηση Server Side Includes (SSI).
Ρύθμιση σελίδας σφάλματος
Αλλαγή της σελίδας η οποία θα εμφανίζεται όταν παρουσιάζεται ένα σφάλμα από την πλευρά του διακομιστή ιστοσελίδων. Ένα τέτοιο παράδειγμα είναι η σελίδα HTTP 404 Not Found.
MIME types
αρχείο ρυθμίσεων για διαχείριση των διαφορετικών αρχείων μέσων.
Cache Control
Το αρχείο .htaccess επιτρέπει τον έλεγχο χρήστης προσωρινής μνήμης (cache) του φυλλομετρητή και την χρήση των proxies, έλεγχο της κίνησης του διακομιστής ιστοσελίδας και της καθυστέρησης εξυπηρέτησης.
Άμεσες αλλαγές
Επειδή τα αρχεία .htaccess διαβάζονται σε κάθε προσπέλαση σελίδας, αλλαγές στις ρυθμίσεις λαμβάνουν χώρα αμέσως, σε αντίθεση με αρχείο ρυθμίσεων του διακομιστή ιστοσελίδων το οποίο όταν αλλαχθεί απαιτεί την επανεκκίνηση του διακομιστή.
Χειρισμός πρόσβασης από μη-εξουσιοδοτημένους χρήστες
Σε ένα διακομιστή ιστοσελίδων όπου πολλοί χρήστες έχουν πρόσβαση για να δημοσιεύσουν ιστοσελίδες, είναι συχνά επιθυμητό να μπορούν οι χρήστες να αλλάζουν τις ρυθμίσεις της σελίδας του χωρίς να χρειάζεται να αλλάζει το κεντρικό αρχείο ρυθμίσεων του διακομιστή.[6]

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

Μείωση απόδοσης
Σε κάθε κλήση HTTP μιας ιστοσελίδας, υπάρχουν επιπλέον προσπελάσεις στο σύστημα αρχείων ώστε να ελεγθούν όλοι οι πατρικοί κατάλογοι για τυχόν ύπαρξη .htaccess αρχείων. Είναι όμως προγραμματιστικά εφικτό να εισαχθούν όλες αυτές οι ρυθμίσεις σε κάθε κατάλογο στο κεντρικό αρχείο ρυθμίσεων httpd.conf όταν παρουσιάζεται μείωση της απόδοσης.[9]
Ασφάλεια
Επιτρέποντας τους χρήστες να τροποποιούν το αρχείο ρυθμίσεων στον διακομιστή αυτό δημιουργεί κενά ασφάλειας όταν αυτό δεν ρυθμίζεται σωστά.[10]
  1. «AllowOverride Directive». Ανακτήθηκε στις 2 Μαρτίου 2009. 
  2. «Configuration Files». Ανακτήθηκε στις 2 Μαρτίου 2009. 
  3. "Using the .htaccess file", Oracle.com
  4. "Using Dynamic Control Files" Αρχειοθετήθηκε 2011-11-23 στο Wayback Machine., zeus.com
  5. «Apache Tutorial: Password Formats». Ανακτήθηκε στις 2 Μαρτίου 2009. 
  6. «Apache Tutorial: When (not) to use .htaccess files». Ανακτήθηκε στις 12 Ιανουαρίου 2008. 
  7. «Configuration Files - Apache HTTP Server». Ανακτήθηκε στις 12 Ιανουαρίου 2008. 
  8. «When Not to use .htaccess files». Httpd.apache.org. Ανακτήθηκε στις 2 Σεπτεμβρίου 2009. 
  9. «How to convert .htaccess to httpd.conf entries». 
  10. «Protecting System Settings». Ανακτήθηκε στις 2 Μαρτίου 2009. 

Εξωτερικοί σύνδεσμοι

[Επεξεργασία | επεξεργασία κώδικα]