מדריך htaccess. מהיר רק נשאר לעשות העתק הדבק

קודים ל htaccess.  לשיפור אבטחת המידע באתר

חסימת תיקייה לפי כתובת IP

הקוד הזה מתאים אם רואים שלאתר מסויים יש התקפה שמתבצעת ע”י כתובת IP מסויימת, לחלופין אפשר לאפשר גישה רק לכתובת IP מסויימת, זה מתאים להוסיף לתיקייה של האדמין.

# allow all IP's except those listed below

 <Limit GET POST PUT>
order allow,deny
allow from all
deny from 12.345.67.890
deny from .*domain\.com.*
</Limit>

חסימה מצפייה בסוגי קובץ מסויימים

 כך לא יהיה ניתן לגשת לקובץ ספציפי לפי שם וגם הקובץ לא יהיה זחיל למנועי החיפוש

# prevent viewing of a specific file

<files protected.png>
order allow,deny
deny from all

</files>

אפשר לחסום גולשים שמגיעים מדומיינים מסויימים

שרואים שיש טראפיק מאתרים מפוקפקים או מאתרי בוטים , כדאי לשקול חסימה של הכניסות בעזרת חסימת דומיינים מסויימים

# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} cuntface\.com [NC,OR]
RewriteCond %{HTTP_REFERER} scammerblog\.org [NC,OR]
RewriteRule .* - [F]
</ifModule>

מניעת שימוש בקבצי תמונות מהאתר

אם אתרים אחרים משתמשים כתמונות שמאוחסנות באתר שלכם זה עלול לגרום עומס מיותר על השרת (מלבד העובדה שיכול להיות שמדובר בגניבת תוכן), אפשר להגביל את השימוש בתמונת רק לדומיין מסויים בעזרת הקוד הזה שיפנה את כל הבקשות לתמונות לקובץ אחד שנקבע מראש.

# stop hotlinking and serve alternate content
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?optiwise\.co\.il/*$ [NC]
RewriteRule .*\.(gif|jpg)$ http://www.optiwise.co\.il/bitemy.jpg [R,NC,L]
</ifModule>

חסום סקרייפרים ובוטים מזיקים

זה בדרך רעיון טוב לחסום בוטים שעושים נזק/ יוצרים עומס מיותר על השרת או גונבים תוכן

# deny access to bad bots site scrappers offline browsers 

RewriteEngine On 
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] 
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] 
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] 
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] 
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] 
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] 
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] 
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] 
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] 
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] 
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] 
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] 
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] 
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] 
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] 
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] 
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] 
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] 
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] 
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] 
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] 
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] 
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] 
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] 
RewriteCond %{HTTP_USER_AGENT} ^Zeus 
RewriteRule ^.* - [F,L]
לדרוש SSL

# require SSL
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "domain.tld"
ErrorDocument 403 https://domain.tld

# require SSL without mod_ssl
RewriteCond %{HTTPS} !=on [NC]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

 

להפנות http ל https

RewriteEngine On

RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

# protect against DOS attacks by limiting file upload size
LimitRequestBody 10240000

 

שינוי השם של הקובץ htaccess.

האקרים מכירים את הקובץ ולעיתים ינסו לערוך אותו לטובתם, מלבד לחסום את הקובץ ניתן גם לשנות לו את השם כך

#Renaming htacess file
AccessFileName newnameforhtacces.s

 

הפניות בעזרת htaccess.

להפנות מאתר עם WWW לאתר בלי WWW

# permanently redirect from www domain to non-www domain
RewriteEngine on
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www\.domain\.tld$ [NC]
RewriteRule ^(.*)$ http://domain.tld/$1 [R=301,L]

הפניית דומין ישן לדומיין חדש

# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]

להפנות את כל הכתובות תחת תיקייה מסויימת

# redirects all files in dir directory with first letters xyz
RedirectMatch 301 /dir/xyz(.*) http://domain.com/$1

 

הפנייה לכתובת אתר בלי WWW ל WWW

כאשר הכתובת המועדפת היא כתובת עם WWW ואתם רוצים להפנות את הגולשים לכתובת המועדפת


RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^optiwise.co.il [NC]
RewriteRule ^(.*)$ https://www.optiwise.co.il/$1 [L,R=301]

מניעת שכפול אתר לפי שם הדומיין

שירותי אחסון מסויימים יוצרים לעיתים שכפול של האתר בסביבה אחרת (כמו הכתובת IP למשל), מדובר באתר מראה שעלול להתאנדקס במנועי החיפוש, נוכל למנוע את התופעה בעזרת הקוד הזה:

RewriteEngine On
RewriteBase /
#RewriteCond %{HTTP_HOST} !www.optiwise.co.il$ [NC]
#RewriteRule ^(.*)$ http://www.optwise.co.il/$1 [L,R=301]

קודים עבור htaccess. לשיפור זמני טעינה באתר

גרסת מטמון (Cache)

גרסת מטמון יוצרת עותק בשרת  לקבצים מסויימים,  העותק השמור חוסך את הפנייה הנוספת למסד הנתונים וכך משפר את זמני הטעינה של האתר. זה מתאים במיוחד לקבצים שלא משתנים באופן תדיר, כמו תמונות או קבצים אחרים.

 

# year

<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$">
Header set Cache-Control "public"
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
Header unset Last-Modified
</FilesMatch>
#2 hours
<FilesMatch "\.(html|htm|xml|txt|xsl)$">
Header set Cache-Control "max-age=7200, must-revalidate"
</FilesMatch>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"
</FilesMatch>

 

מניעת גרסת מטמון לקבצים מסויימים
שלא כמו הסעיף הקודם , יש יוצאי דופן שהם קבצים שכן מתעדכנים באופן קבוע ולכן גרסה שמורה שלהם לא תהיה פרקטית כי לא יראו את העדכונים באתר.
# explicitly disable caching for scripts and other dynamic files
<FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
דחיסת GZIP
המטרה בGZIP (ידוע במקורו גם כ gnuzip) היא לחסוך בטראפיק שעובר בין השרת לדפדפן, השימוש בGZIP יכול להקטין את גודל הקבצים עד 70% מגודלם המקורי, GZIP נתמך ע”י כל הדפדפנים החשובים, במידה ולא נתמך הקובץ יעבור לא מקובץ.
<IfModule mod_gzip.c>
    mod_gzip_on       Yes
    mod_gzip_dechunk  Yes
    mod_gzip_item_include file      \.(html?|txt|css|js|php|pl)$
    mod_gzip_item_include handler   ^cgi-script$
    mod_gzip_item_include mime      ^text/.*
    mod_gzip_item_include mime      ^application/x-javascript.*
    mod_gzip_item_exclude mime      ^image/.*
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
להוסיף תגית canonical לקובץ PDF (או כל קובץ אחר)
בכדי למנוע כפולות תוכן בין קובץ טקסט ודף אינטנרט ניתן להשתמש בתגית קנוניקל זו

<Files Sources.pdf>
Header add Link ‘<http://www.domain.co.il/the-original-content-url/>; rel=”canonical”‘
</Files>

רוצים לחזור לקטע מיוחד במאמר?

שיתוף המאמר:

אולי יעניין אתכם גם:

כותבי המאמר: צוות אופטיוויז

Optiwise היא זרוע שירותי השיווק הדיגיטלי של חברת NGSoft ומתמחה במתן פתרון מקיף וכולל לשיווק מתקדם באינטרנט, באמצעות שורה של כלים מקצועיים מוכווני תוצאות. האפשרויות שמעניקה Optiwise מתאימות למגוון רחב של חברות ועסקים בתחומים שונים.

שירותיה של Optiwise מעניקים פתרון שיווקי כולל לעסקים בינוניים וגדולים המעוניינים להגדיל בצורה אפקטיבית את הנוכחות ברשת האינטרנט ולהביא יותר הזדמנויות עסקיות.

 

 
נגישות