
Έχω συλλέξει 17 μεθόδους σε αυτό το άρθρο που έχω χρησιμοποιήσει ή έχω δοκιμάσει, και θεωρώ πως μερικά από αυτά είναι ουσιώδη μυστικά που σας βοηθούν να προστατεύσετε των web server σας από επιθέσεις, ενώ κάποια άλλα είναι απλά τεχνικές που βελτιώνουν ή υποβοηθούν των διακομιστή σας.
Τα ακόλουθα htaccess θα σας επιτρέψουν να κάνετε απλές εργασίες όπως για παράδειγμα ανά-κατευθύνσεις και βελτιστοποίηση του web server σας.
Μερικές φορές όταν χρησιμοποιείτε συναρτήσεις όπως είναι η date ή η συνάρτηση mktime στην PHP μπορεί να δείτε ένα μήνυμα προειδοποίησης από το server σχετικά με τη ζώνη ώρας. Ακολουθεί ο κώδικας που θα σας επιτρέψει να λύσετε το πρόβλημα σας. Ορίστε μόνοι σας την ζώνη ώρας του server σας. Μια λίστα με όλες τις διαθέσιμες ζώνες ώρας μπορεί να βρεθεί και εδώ
SetEnv TZ Europe/Athens
Για ποιο λόγο είναι φιλική η ανακατεύθυνση 301 για το SEO; Στις ημέρες μας, μερικές μοντέρνες μηχανές αναζήτησης όπως είναι το Google, το Yahoo, το BIND και άλλες μπορούν να αντιληφθούν τις ανά-κατευθύνσεις και έτσι ενημερώνουν τους καταλόγους τους για αυτές τις αλλαγές.
Redirect 301 http://www.web-resources.eu/home http://www.web-resources.eu
Συνήθως όταν προσπαθείτε να κατεβάσετε κάτι από ένα web server αντιμετωπίζετε το διάλογο του περιηγητή διαδικτύου που σας ρωτά αν θέλετε να αποθηκεύσετε ή να ανοίξετε το αρχείο που κατεβάζετε. Για να απαλλάξετε τους χρήστες σας από αυτή τη διαδικασία μπορείτε να χρησιμοποιήσετε των κώδικα που ακολουθεί.
AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov
Ένας από τους βασικούς κανόνες του SEO είναι να έχετε μόνο ένα URL που να δείχνει στην ιστοσελίδα σας. Ένας τρόπος για να το κάνετε είναι είτε να υποχρεώσετε όποια αίτηση έρχεται στον web server σας χωρίς www να την ανακατευθύνετε σε αυτή με το www ή το ανάστροφο.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.queness.com [NC]
RewriteRule ^(.*)$ http://queness.com/$1 [L,R=301]
Δημιουργήστε της δικές σας σελίδες σφάλματος για κάθε τύπο σφάλματος
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
Βελτιώστε την απόδοση του web server σας απλά μειώνοντας το μέγεθος των αρχείων με συμπίεση
# συμπίεση αρχείων text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
Η διατήρηση του στατικού περιεχομένου της σελίδας σας στην Cache των περιηγητών διαδικτύου των επισκεπτών της ιστοσελίδας σας βελτιώνει την απόδοση του web site σας.
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$"> Header set Cache-Control "max-age=2592000" </FilesMatch>
Από την άλλη πλευρά μπορείτε να απενεργοποιήσετε συγκεκριμένους τύπους αρχείων ώστε να μην διατηρούνται στην Cache
# αναγκαστική απενεργοποίηση της Cache για σενάρια εντολών και άλλα δυναμικά αρχεία <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch>
Με τα ακόλουθα htaccess θα μπορέσετε να βελτιώσετε το επίπεδο ασφάλειας του web server σας. Εδώ θα βρείτε κώδικα για να διακόψετε για παράδειγμα το hotlink των εικόνων σας.
Σας εκνευρίζει η κατάχρηση του bandwidth του web server σας, όταν οι άλλοι χρησιμοποιούν εικόνες από εσάς. Με τη χρήση του παρακάτω κώδικα θα τους απαγορεύσετε τη χρήση εικόνων από τη σελίδα σας.
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?queness.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
Αν θέλετε να βελτιώσετε το επίπεδο ασφαλείας του Web server σας, χρησιμοποιήστε τις ακόλουθες γραμμές κώδικα που μπλοκάρουν κάποιες κοινές τεχνικές επίθεσης με τον εντοπισμό ειδικών εντολών στο URL
RewriteEngine On
# proc/self/environ; Με τίποτα!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
# Αποκλεισμός κάθε σεναρίου που προσπαθεί να ορίσει τιμή στο mosConfig μέσω κάποιου URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Αποκλεισμός κάθε σεναρίου που προσπαθεί να παραβιάσει το site σας με αποστολή κωδικοποιημένων εντολών se base64_encode μέσω URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Αποκλεισμός κάθε σεναρίου που περιέχει την ετικέτα <script> στο URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Αποκλεισμός κάθε σεναρίου που προσπαθεί να αλλάξει τις μεταβλητές PHP GLOBALS μέσω κάποιου URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
# Αποκλεισμός κάθε σεναρίου που προσπαθεί να αλλάξει τις μεταβλητές _REQUEST μέσω κάποιου URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
# Ανά-κατεύθυνση κάθε αποκλεισμένης αίτησης στην αρχική σελίδα με κωδικό σφάλματος 403
RewriteRule ^(.*)$ index.php [F,L]
Ο κώδικας που ακολουθεί θα απαγορεύσει την πρόσβαση στο αρχείο .htaccess
# Αποκλεισμός πρόσβασης στο htaccess <Files .htaccess> order allow,deny deny from all </Files> # Αποκλεισμός πρόσβασης σε συγκεκριμένο αρχείο <Files secretfile.jpg> order allow,deny deny from all </Files> # Αποκλεισμός πολλαπλών τύπων αρχείων <FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"> Order Allow,Deny Deny from all </FilesMatch>
Ακόμα ένας τρόπος για να προστατεύσετε το htaccess σας από την πρόσβαση τρίτων είναι η μετονομασία του σε κάτι άλλο.
AccessFileName htacce.ss
Διακόψτε ή επιτρέψτε την πλοήγηση στο σύστημα αρχείων του web server σας με τον ακόλουθο κώδικα.
# Απαγόρευση περιήγησης στους καταλόγους Options All -Indexes
# Δικαίωμα περιήγησης στους καταλόγους Options All +Indexes
Αν θέλετε μπορείτε να αλλάξετε την προεπιλεγμένη σελίδα index.html ή index.php σε ότι άλλο θέλετε εσείς
DirectoryIndex business.html
# Αποκλεισμός επισκεπτών που έρχονται από συγκεκριμένο web site
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* - [F]
</ifModule>
Αυτός ο κώδικας μπορεί να σας εξοικονομήσει bandwidth απαγορεύοντας την πρόσβαση σε bots ή spiders που σαρώνουν τη σελίδα σας και δεν τα θέλετε.
# Αποκλεισμός συγκεκριμένων User-Agent <IfModule mod_rewrite.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </ifModule>
AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI
[...] This post was mentioned on Twitter by Web Resoures.eu and Web Resoures.eu, Web Resoures.eu. Web Resoures.eu said: 17 τεχνικές και μυστικά για χρήσιμο htaccess http://goo.gl/fb/WZRWu [...]
Συγχαρητήρια, ωραία παραδείγματα.
Θα ήθελα να ρωτήσω αν γίνετε το εξής:
Να έχω ένα φάκελο ας πούμε files και τα αρχεία του να μην είναι προσβάσιμα π.χ. http://blablabla.gr/files/index.php –>404 Page not found.
Κάτι τέτοιο απο μόνο του ξέρω ότι θα είναι εύκολο.
Αυτό που θέλω ταυτόχρονα όταν καλείτε το http://blablabla.gr/index.html
και μέσα σε αυτο το αρχείο έχω τον κώδικα ο server να του επιστρέφει την εικόνα κανονικά.
Δεν ξέρω αν γίνεται αλλά αν γίνεται πραγματικά ξέρω 4 (τουλάχιστον) λόγους που κάτι τέτοιο είναι ωφέλιμο.
Θελω να πω μονο ενα μεγαλο ευχαριστω..
Ειμαι πολυ «ψαρι» σε ολα και ολα μου φαινονται βασικα και χρησιμα γιατι προσπαθω να τα κανω ολα μονος μου.
Φιλικα
Κωστας,Ολλανδια
DigiMyth
Όταν αλλάζουμε όνομα στο htaccess πως ακριβώς το κάνουμε;
Την εντολή:
AccessFileName htacce.ss
Την βάζουμε στο αρχείο htaccess και δημιουργούμε ένα δεύτερο htacce.ss ή απλά αλλάζουμε το όνομα του και βάζουμε την εντολή μέσα;
Με την παραπάνω εντολή πως συνδιάζουμε αυτή:
# Αποκλεισμός πρόσβασης στο htaccess
order allow,deny
deny from all
Αν πρέπει να έχουμε ένα αρχείο htaccess και ένα htacce.ss?
Ευχαριστώ