25 Χρήσιμα κόλπα Apache .htaccess για την ασφάλεια και την προσαρμογή ιστοσελίδων


Οι ιστότοποι είναι σημαντικά μέρη της ζωής μας. Εξυπηρετούν τα μέσα για την επέκταση των επιχειρήσεων, την ανταλλαγή γνώσεων και πολλά άλλα. Προηγουμένως περιοριζόταν στην παροχή μόνο στατικού περιεχομένου, με την εισαγωγή δυναμικών γλωσσών δέσμης ενεργειών από την πλευρά του πελάτη και διακομιστή και τη συνεχή εξέλιξη της υπάρχουσας στατικής γλώσσας όπως η html σε html5, η προσθήκη κάθε κομματιού δυναμικότητας είναι δυνατή στους ιστότοπους και ό,τι απομένει αναμένεται να ακολουθήσει σύντομα κοντά μελλοντικός.

Με τους ιστότοπους, έρχεται η ανάγκη μιας μονάδας που μπορεί να εμφανίσει αυτούς τους ιστότοπους σε ένα τεράστιο σύνολο κοινού σε όλο τον κόσμο. Αυτή η ανάγκη καλύπτεται από τους διακομιστές που παρέχουν μέσα για τη φιλοξενία μιας ιστοσελίδας. Αυτό περιλαμβάνει μια λίστα διακομιστών όπως: Διακομιστής HTTP Apache, Joomla και WordPress που επιτρέπουν σε κάποιον να φιλοξενεί τους ιστότοπούς του.

Κάποιος που θέλει να φιλοξενήσει έναν ιστότοπο μπορεί να δημιουργήσει έναν δικό του τοπικό διακομιστή ή μπορεί να επικοινωνήσει με οποιονδήποτε από τους παραπάνω αναφερόμενους ή οποιονδήποτε άλλο διαχειριστή διακομιστή για να φιλοξενήσει τον ιστότοπό του. Αλλά το πραγματικό ζήτημα ξεκινά από αυτό το σημείο. Η απόδοση ενός ιστότοπου εξαρτάται κυρίως από τους ακόλουθους παράγοντες:

  1. Εύρος ζώνης που καταναλώνεται από τον ιστότοπο.
  2. Πόσο ασφαλής είναι ο ιστότοπος έναντι των χάκερ.
  3. Αισιοδοξία όσον αφορά την αναζήτηση δεδομένων μέσω της βάσης δεδομένων
  4. Φιλικότητα προς τον χρήστη όσον αφορά την εμφάνιση των μενού πλοήγησης και την παροχή περισσότερων λειτουργιών διεπαφής χρήστη.

Εκτός από αυτό, διάφοροι παράγοντες που διέπουν την επιτυχία των διακομιστών στη φιλοξενία ιστοσελίδων είναι:

  1. Ποσότητα συμπίεσης δεδομένων που επιτεύχθηκε για έναν συγκεκριμένο ιστότοπο.
  2. Δυνατότητα ταυτόχρονης εξυπηρέτησης πολλών πελατών που ζητούν τον ίδιο ή διαφορετικό ιστότοπο.
  3. Ασφάλεια των εμπιστευτικών δεδομένων που εισάγονται στους ιστότοπους, όπως: email, στοιχεία πιστωτικής κάρτας και ούτω καθεξής.
  4. Επιτρέποντας όλο και περισσότερες επιλογές για τη βελτίωση της δυναμικότητας σε έναν ιστότοπο.

Αυτό το άρθρο ασχολείται με μια τέτοια δυνατότητα που παρέχεται από τους διακομιστές που συμβάλλουν στη βελτίωση της απόδοσης των ιστότοπων μαζί με την ασφάλειά τους από κακά bots, hotlinks κ.λπ., δηλαδή το αρχείο «.htaccess».

Τι είναι το .htaccess;

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

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

Σημείωση: Εάν το αρχείο .htaccess τοποθετηθεί στον κατάλογο /apache/home/www/Gunjit/ τότε θα παρέχει οδηγίες για όλα τα αρχεία και τους φακέλους σε αυτόν τον κατάλογο, αλλά εάν αυτός ο κατάλογος περιέχει έναν άλλο φάκελο και συγκεκριμένα: /Gunjit/images/ που έχει και πάλι ένα άλλο αρχείο .htaccess τότε οι οδηγίες σε αυτόν τον φάκελο θα αντικαταστήσουν αυτές που παρέχονται από το κύριο αρχείο .htaccess (ή το αρχείο στον φάκελο επάνω σε ιεραρχία).

Αρχεία διακομιστή Apache και .htaccess

Ο Διακομιστής HTTP Apache που αποκαλείται στην καθομιλουμένη Apache ονομάστηκε έτσι από έναν ιθαγενή Αμερικανό Apache για να σεβαστεί τις ανώτερες δεξιότητές του στη στρατηγική πολέμου. Βασισμένο σε C/C++ και XML, είναι διακομιστής web cross-platform που βασίζεται στον διακομιστή HTTPd NCSA και έχει βασικό ρόλο στην ανάπτυξη και την πρόοδο του World Wide Web.

Ο Apache που χρησιμοποιείται πιο συχνά στο UNIX, είναι διαθέσιμος για μεγάλη ποικιλία πλατφορμών, όπως FreeBSD, Linux, Windows, Mac OS, Novel Netware κ.λπ. Το 2009, ο Apache έγινε ο πρώτος διακομιστής που εξυπηρετούσε περισσότερους από 100 εκατομμύρια ιστότοπους.

Ο διακομιστής Apache έχει ένα αρχείο .htaccess ανά χρήστη στον κατάλογο www/. Αν και αυτά τα αρχεία είναι κρυφά, αλλά μπορούν να γίνουν ορατά εάν απαιτείται. Στον κατάλογο www/ υπάρχει ένας αριθμός φακέλων που ο καθένας σχετίζεται με έναν ιστότοπο με όνομα χρήστη ή κατόχου. Εκτός από αυτό, μπορείτε να έχετε ένα αρχείο .htaccess σε κάθε φάκελο που ρυθμίζει τα αρχεία σε αυτόν τον φάκελο όπως αναφέρθηκε παραπάνω.

Πώς να ρυθμίσετε το αρχείο htaccess στον διακομιστή Apache είναι ως εξής…

Διαμόρφωση στον διακομιστή Apache

Μπορεί να υπάρχουν δύο περιπτώσεις:

Φιλοξενία ιστότοπου σε δικό του διακομιστή

Σε αυτήν την περίπτωση, εάν τα αρχεία .htaccess δεν είναι ενεργοποιημένα, μπορείτε να ενεργοποιήσετε τα αρχεία .htaccess μεταβαίνοντας απλώς στο httpd.conf (Προεπιλεγμένο αρχείο διαμόρφωσης για Apache HTTP Daemon) και εύρεση της ενότητας .

<Directory "/var/www/htdocs">

Και εντοπίστε τη γραμμή που λέει…

AllowOverride None 

Και διορθώστε το.

AllowOverride All

Τώρα, κατά την επανεκκίνηση του Apache, το .htaccess θα λειτουργήσει.

Φιλοξενία ιστότοπου σε διαφορετικό διακομιστή παρόχου φιλοξενίας

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

25 «.htaccess» κόλπα του διακομιστή Web Apache για ιστότοπους

1. Πώς να ενεργοποιήσετε το mod_rewrite σε αρχείο .htaccess

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

Για να επιτρέψετε το mod_rewrite απλώς ακολουθήστε την πρακτική να προσθέσετε την ακόλουθη γραμμή ως την πρώτη γραμμή του αρχείου σας .htaccess.

Options +FollowSymLinks

Αυτή η επιλογή σάς επιτρέπει να ακολουθείτε συμβολικούς συνδέσμους και έτσι να ενεργοποιείτε την επιλογή mod_rewrite στον ιστότοπο. Η αντικατάσταση της διεύθυνσης URL με μια σύντομη και τραγανή θα παρουσιαστεί αργότερα.

2. Πώς να επιτρέψετε ή να αρνηθείτε την πρόσβαση σε ιστότοπους

Το αρχείο htaccess μπορεί να επιτρέψει ή να αρνηθεί την πρόσβαση σε ιστότοπο ή φάκελο ή αρχεία στον κατάλογο στον οποίο είναι τοποθετημένο χρησιμοποιώντας παραγγελία, να επιτρέπεται και < b>άρνηση λέξεων-κλειδιών.

Επιτρέπει την πρόσβαση μόνο σε 192.168.3.1 IP
Order Allow, Deny
Deny from All
Allow from 192.168.3.1

OR

Order Allow, Deny
Allow from 192.168.3.1

Η λέξη-κλειδί Παραγγελία εδώ καθορίζει τη σειρά με την οποία θα γίνει η επεξεργασία της πρόσβασης να επιτρέπεται, άρνηση. Για την παραπάνω δήλωση Παραγγελία, θα γίνει πρώτα επεξεργασία των δηλώσεων Να επιτρέπεται και, στη συνέχεια, θα γίνεται επεξεργασία των δηλώσεων άρνησης.

Άρνηση πρόσβασης σε μία μόνο διεύθυνση IP

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

rder Allow, Deny
Deny from 192.168.3.1
Allow from All

OR


Order Deny, Allow
Deny from 192.168.3.1

3. Δημιουργήστε έγγραφα σφάλματος Apache για διαφορετικούς κωδικούς σφάλματος.

Χρησιμοποιώντας μερικές απλές γραμμές, μπορούμε να διορθώσουμε το έγγραφο σφάλματος που εκτελείται σε διαφορετικούς κωδικούς σφάλματος που δημιουργούνται από τον διακομιστή όταν ο χρήστης/πελάτης ζητά μια σελίδα που δεν είναι διαθέσιμη στον ιστότοπο, όπως οι περισσότεροι από εμάς θα βλέπαμε το «404 σελίδα δεν βρέθηκε' στο πρόγραμμα περιήγησής τους. Τα αρχεία «.htaccess» καθορίζουν τις ενέργειες που πρέπει να κάνετε σε περίπτωση τέτοιων συνθηκών σφάλματος.

Για να γίνει αυτό, χρειάζονται οι ακόλουθες γραμμές για να προστεθούν στα αρχεία «.htaccess»:

ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>

Το ErrorDocument είναι μια λέξη-κλειδί, ο κωδικός σφάλματος μπορεί να είναι οποιοδήποτε από τα 401, 403, 404, 500 ή οποιοδήποτε έγκυρο σφάλμα που αντιπροσωπεύει κώδικα και, τέλος, το path-of-document αντιπροσωπεύει τη διαδρομή στον τοπικό υπολογιστή (σε περίπτωση που χρησιμοποιείτε τον δικό σας τοπικό διακομιστή) ή στον διακομιστή (σε περίπτωση που χρησιμοποιείτε διακομιστή οποιουδήποτε άλλου για να φιλοξενήσει τον ιστότοπό σας).

Παράδειγμα:
ErrorDocument 404 /error-docs/error-404.html

Η παραπάνω γραμμή ορίζει ότι το έγγραφο 'error-404.html' που βρίσκεται στον φάκελο error-docs θα εμφανίζεται σε περίπτωση που το σφάλμα 404 αναφέρεται από τον διακομιστή για οποιοδήποτε μη έγκυρο αίτημα για μια σελίδα από τον πελάτη.

rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"

Η παραπάνω αναπαράσταση είναι επίσης σωστή που τοποθετεί τη συμβολοσειρά που αντιπροσωπεύει ένα συνηθισμένο αρχείο html.

4. Ρύθμιση/Απενεργοποίηση μεταβλητών περιβάλλοντος διακομιστή Apache

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

Ρύθμιση των μεταβλητών Περιβάλλοντος
SetEnv OWNER “Gunjit Khera”
Κατάργηση ρύθμισης των μεταβλητών Περιβάλλοντος
UnsetEnv OWNER

5. Καθορισμός διαφορετικών τύπων MIME για αρχεία

Το MIME (Επεκτάσεις Πολυμέσων Διαδικτύου πολλαπλών χρήσεων) είναι οι τύποι που αναγνωρίζονται από το πρόγραμμα περιήγησης από προεπιλογή κατά την εκτέλεση οποιασδήποτε ιστοσελίδας. Μπορείτε να ορίσετε τύπους MIME για τον ιστότοπό σας σε αρχεία .htaccess, έτσι ώστε διαφορετικοί τύποι αρχείων όπως ορίζονται από εσάς να μπορούν να αναγνωρίζονται και να εκτελούνται από τον διακομιστή.

<IfModule mod_mime.c>
	AddType	application/javascript		js
	AddType application/x-font-ttf		ttf ttc
</IfModule>

Εδώ, το mod_mime.c είναι η λειτουργική μονάδα για τον έλεγχο των ορισμών διαφορετικών τύπων MIME και εάν έχετε εγκαταστήσει αυτήν την ενότητα στο σύστημά σας, τότε μπορείτε να χρησιμοποιήσετε αυτήν την ενότητα για να ορίσετε διαφορετικούς τύπους MIME για διαφορετικές επεκτάσεις που χρησιμοποιούνται στον ιστότοπό σας ώστε ο διακομιστής να μπορεί να τα κατανοήσει.

6. Πώς να περιορίσετε το μέγεθος των μεταφορτώσεων και των λήψεων στο Apache

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

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

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