.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]
Παραπομπές
[Επεξεργασία|επεξεργασία κώδικα]- ↑«AllowOverride Directive».Ανακτήθηκε στις 2 Μαρτίου 2009.
- ↑«Configuration Files».Ανακτήθηκε στις 2 Μαρτίου 2009.
- ↑"Using the.htaccess file",Oracle.com
- ↑"Using Dynamic Control Files"Αρχειοθετήθηκε2011-11-23 στοWayback Machine., zeus.com
- ↑«Apache Tutorial: Password Formats».Ανακτήθηκε στις 2 Μαρτίου 2009.
- ↑«Apache Tutorial: When (not) to use.htaccess files».Ανακτήθηκε στις 12 Ιανουαρίου 2008.
- ↑«Configuration Files - Apache HTTP Server».Ανακτήθηκε στις 12 Ιανουαρίου 2008.
- ↑«When Not to use.htaccess files».Httpd.apache.org.Ανακτήθηκε στις 2 Σεπτεμβρίου 2009.
- ↑«How to convert.htaccess to httpd.conf entries».
- ↑«Protecting System Settings».Ανακτήθηκε στις 2 Μαρτίου 2009.