17 τεχνικές και μυστικά για χρήσιμο htaccess

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
FavoriteLoadingΠροσθήκη στα Αγαπημένα μου
25/11/2010 από
merianos

Έχω συλλέξει 17 μεθόδους σε αυτό το άρθρο που έχω χρησιμοποιήσει ή έχω δοκιμάσει, και θεωρώ πως μερικά από αυτά είναι ουσιώδη μυστικά που σας βοηθούν να προστατεύσετε των web server σας από επιθέσεις, ενώ κάποια άλλα είναι απλά τεχνικές που βελτιώνουν ή υποβοηθούν των διακομιστή σας.

Γενικά

Τα ακόλουθα htaccess θα σας επιτρέψουν να κάνετε απλές εργασίες όπως για παράδειγμα ανά-κατευθύνσεις και βελτιστοποίηση του web server σας.

1. Ορισμός ζώνης ώρας

Μερικές φορές όταν χρησιμοποιείτε συναρτήσεις όπως είναι η date ή η συνάρτηση mktime στην PHP μπορεί να δείτε ένα μήνυμα προειδοποίησης από το server σχετικά με τη ζώνη ώρας. Ακολουθεί ο κώδικας που θα σας επιτρέψει να λύσετε το πρόβλημα σας. Ορίστε μόνοι σας την ζώνη ώρας του server σας. Μια λίστα με όλες τις διαθέσιμες ζώνες ώρας μπορεί να βρεθεί και εδώ

SetEnv TZ Europe/Athens

2. Φιλική προς το SEO μόνιμη ανακατεύθυνση 301

Για ποιο λόγο είναι φιλική η ανακατεύθυνση 301 για το SEO; Στις ημέρες μας, μερικές μοντέρνες μηχανές αναζήτησης όπως είναι το Google, το Yahoo, το BIND και άλλες μπορούν να αντιληφθούν τις ανά-κατευθύνσεις και έτσι ενημερώνουν τους καταλόγους τους για αυτές τις αλλαγές.

Redirect 301 http://www.web-resources.eu/home http://www.web-resources.eu

3. Παράκαμψη του διαλόγου Download

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

AddType application/octet-stream .pdf
AddType application/octet-stream .zip
AddType application/octet-stream .mov

4. Παράκαμψη του www

Ένας από τους βασικούς κανόνες του SEO είναι να έχετε μόνο ένα URL που να δείχνει στην ιστοσελίδα σας. Ένας τρόπος για να το κάνετε είναι είτε να υποχρεώσετε όποια αίτηση έρχεται στον web server σας χωρίς www να την ανακατευθύνετε σε αυτή με το www ή το ανάστροφο.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.queness.com [NC]
RewriteRule ^(.*)$ http://queness.com/$1 [L,R=301]

5. Προσαρμοσμένες σελίδες σφαλμάτων

Δημιουργήστε της δικές σας σελίδες σφάλματος για κάθε τύπο σφάλματος

ErrorDocument 401 /error/401.php
ErrorDocument 403 /error/403.php
ErrorDocument 404 /error/404.php
ErrorDocument 500 /error/500.php

6. Συμπίεση αρχείων

Βελτιώστε την απόδοση του 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

7. Διατηρήστε τα αρχεία σας στην Cache

Η διατήρηση του στατικού περιεχομένου της σελίδας σας στην Cache των περιηγητών διαδικτύου των επισκεπτών της ιστοσελίδας σας βελτιώνει την απόδοση του web site σας.

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>

8. Απενεργοποίηση της Cache για συγκεκριμένα αρχεία

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

# αναγκαστική απενεργοποίηση της Cache για σενάρια εντολών και άλλα δυναμικά αρχεία
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>

Ασφάλεια

Με τα ακόλουθα htaccess θα μπορέσετε να βελτιώσετε το επίπεδο ασφάλειας του web server σας. Εδώ θα βρείτε κώδικα για να διακόψετε για παράδειγμα το hotlink των εικόνων σας.

1. Προστασία από το 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]

2. Αποφυγή των Hacks

Αν θέλετε να βελτιώσετε το επίπεδο ασφαλείας του 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]

3. Προστασία του αρχείου .htaccess

Ο κώδικας που ακολουθεί θα απαγορεύσει την πρόσβαση στο αρχείο .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>

4. Αλλάξτε όνομα στο .htaccess

Ακόμα ένας τρόπος για να προστατεύσετε το htaccess σας από την πρόσβαση τρίτων είναι η μετονομασία του σε κάτι άλλο.

AccessFileName htacce.ss

5. Απενεργοποιήστε την πλοήγηση στο σύστημα αρχείων του web server σας

Διακόψτε ή επιτρέψτε την πλοήγηση στο σύστημα αρχείων του web server σας με τον ακόλουθο κώδικα.

# Απαγόρευση περιήγησης στους καταλόγους
Options All -Indexes
# Δικαίωμα περιήγησης στους καταλόγους
Options All +Indexes

6. Αλλάξτε την προεπιλεγμένη index σελίδα

Αν θέλετε μπορείτε να αλλάξετε την προεπιλεγμένη σελίδα index.html ή index.php σε ότι άλλο θέλετε εσείς

DirectoryIndex business.html

7. Απαγόρευση πρόσβασης σε κίνηση από συγκεκριμένο web site

# Αποκλεισμός επισκεπτών που έρχονται από συγκεκριμένο 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>

8. Απαγόρευση πρόσβασης σε συγκεκριμένους User-Agent

Αυτός ο κώδικας μπορεί να σας εξοικονομήσει 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>

9. Προστασία καταλόγων με απαγόρευση εκτέλεσης σεναρίων

AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI







Hide ↑

Ο Νίκος είναι ένας Web Developer που συνεχώς παρακολουθεί τις εξελίξεις και ενημερώνεται για τα νέα δεδομένα στο χώρο της κατασκευής διαδικτυακών εφαρμογών. Με εμπειρία που ξεπερνά τα 10 χρόνια, είναι ικανός να γράψει διαδικτυακές εφαρμογές σε PHP με τη βοήθεια του CakePHP, jQuery, CSS Blueprint Framework και άλλες τεχνολογίες που ευνοούν την ανάπτυξη την ταχύτατη ενημέρωση, αποσφαλμάτωση, επέκταση και συντήρηση του κώδικα. Πέρα όμως από την ανάπτυξη διαδικτυακών εφαρμογών είναι σε θέση να γράψει WordPress themes, plugins, widgets, shortcodes και να δημιουργήσει και Templates για phpBB. Τέλος, το γνωσιακό του επίπεδο δεν περιορίζεται σε γλώσσες προγραμματισμού, μοντέλα δεδομένων και τεχνικές ανάπτυξης. Ο Νίκος έχει γνώσεις επιτάχυνσης ιστοσελίδων, regular expressions χρήση των mod_rewrites σε βάθος κ.α.

Follow Νίκος Μέριανος on Twitter ,

HTML5 & HTML 4+ - Όλες οι ετικέτες

11 February 2012

Σήμερα άρχισα να κάνω μια σύντομη σύγκριση των ετικετών της HTML 4+ με τις ετικέτες της HTML5 έτσι ώστε να μπορέσω να δω ποιες είναι οι διαφορές[…]

Read more...

Τι είναι το Cloud Hosting

28 January 2012

Μπορεί να το γνωρίζεται, μπορεί και όχι, αλλά ήδη πολλοί από εμάς σε καθημερινή βάση χρησιμοποιούμε το cloud hosting. Αν για παράδειγμα χρησιμοποιείτε[…]

Read more...

6 JavaScript Grid Plugins

30 April 2011

Οι πίνακες είναι ο καλύτερος τρόπος για να προβάλετε δεδομένα. Πάρτε ως παράδειγμα το Microsoft Excel, στο οποίο μπορούμε να ταξινομήσουμε,[…]

Read more...






Σχόλια

Δεν υπάρχουν σχόλια ακόμα.

Αφήστε ένα σχόλιο

 






RSS για τα σχόλια σε αυτό το άρθρο.  |  TrackBack URL



 
 
 

Eταιρείες παροχής υπηρεσιών διαδικτύου




 

Το Όραμά Μας

3d2 3d2

Η νέα εποχή ξεκινάει…

Είστε έτοιμοι;

Παρά τις όποιες δυσκολίες συναντήσαμε, τελικά μετά από 1 χρόνο περίπου, καταφέραμε να συγκεντρώσουμε τις δυνάμεις μας και να βάλουμε τις σκέψεις μας στο σωστό μονοπάτι.

Ξεκινάμε μια νέα εποχή για τα Ελληνικά δεδομένα. Κοιτάμε μπροστά και οραματίζομαστε το μέλλον με αισιοδοξία σε μία πολύ δύσκολη εποχή!

Αν είστε digital artist (web designer. web developer, programmer, 3d animator, graphic designer κτλ)  δώστε λίγα λεπτά από τον χρόνο σας να διαβάσετε το παρακάτω άρθρο. Σίγουρα σας ενδιαφέρει

 
web design forum

  • Προσεγγίστε νέους αναγνώστες και φίλους
  • Αποκτήστε το δικαίωμα να προωθήστε την σελίδα σας μέσω διαφημιστικών banner στο web design forum
  • Αποκτήστε συνδέσμους και backlinks δωρεάν
  • Αυτόματη προωθηση του άρθρου σας, σε διάφορες ιστοσελίδες κοινωνικής δικτύωσης.