المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : شرح أوامر ملف htaccess لحماية الملفات


abohmam
25-03-2011, 12:03 AM
بسم الله الرحمن الرحيم

الحمدلله والصلاة والسلام على رسول الله وعلى آله وصحبه أجمعين

السلام عليكم ورحمة الله وبركاته

شرح أوامر ملف htaccess لحماية الملفات

التعريف بملف htaccess هو عبارة عن ملف نضع به أوامر معينة لا تقتصر فقط على حماية روابط الملفات (Hotlinking) بل له وظائف أخرى غير ذالك.

في هذا الموضوع سنتكلم عن بعض الأوامر المهمة الخاصة بحماية الروابط. سنقوم بعمل ملف جديد بالنوتباد ونحفظه بالاسم htaccess.
(انتبه للنقطة-مهم جدا) وفي داخل هذا الملف نضع الأوامر التي نريدها من بين الأوامر التالية:


1- حماية الصور


RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?abc4web.net (/)?.*$ [NC]
RewriteRule .(gif|GIF|jpg|JPG)$ /hotlinking/banned.gif [L,NC]


الكود يقوم بعمل وظيفتيتن:

1. يمنع عرض الصور خارج موقعك.
2. يستبدل الصورة بأي صورة تختارها وهذه الصورة ستظهر في الموقع الذي استعمل صورك

شرح طريقة الاستعمال:

بداية, ننسخ الكود ونضعه في ملف ال htaccess الذي تكلمنا عنه قبل قليل. اذا أردت أن تمنع الظهور الخارجي للصور الموجودة في مجلد معيّن فعليك أن تضع ملف ال htaccess داخل ذالك المجلد, بينما لو أردت أن تمنع الظهور الخارجي للصور الموجودة في موقعك كله فعليك أن تضع ملف ال htccess في المجلد الرئيسي لموقعك في ال public_html.

abc4web.net : تستبدله بدومين موقعك.

gif|GIF|jpg|JPG: امتداد الصور المحمية ويمكنك التعديل.

hotlinking/banned.gif: رابط صورة التنبيه.

يمكنك تصميم صورة التنبيه التي ستظهر في المواقع الخارجية كما تشاء. مفضل ان تكون مقاساتها صغيرة وحجمها صغير أيضا. يمكنك تصميمها بأي شكل تريده, استعمل خيالك الواسع, قد تكون الصورة دعاية لموقعك وقد تكون رسالة توبيخ. هذه الصورة يجب أن تضعها على موقع آخر (لأنه منعنا ظهور أي صورة خارج الموقع وستكون من ضمنها صورة التنبيه أيضا ! ).
لكن اذا أردت أن تكون هذه الصورة على موقعك أنصحك أن تقوم بعمل مجلد تسميه مثلا hotlinking وفي داخل هذا المجلد سنضع ملف htaccess وبه الأمر التالي والذي يعني أن جميع الصور والملفات داخل هذا المجلد (ومن ضمنها صورة التنبيه) يمكنها أن تظهر بأي موقع خارجي وهي غير محمية:

RewriteEngine off

الان, من يريد استعمال صورك يستطيع تحميلها ورفعها على مساحته لكنه لن يستطيع أن يستخدم مساحتك حتى يعرض الصور في موقعه.

2- حماية الملفات


RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www.)?abc4web.net /.*$ [NC]
RewriteRule .(rar|RAR|ZIP|zip)$ http://www.abc4web.net [R,L]


هذا الكود يقوم بعمل وظيفتين:

1. يمنع تحميل ملفات من خارج موقعك.
2. عندما يقوم شخص بمحاولة تحميل ملف محمي سيتم تحويله الى موقعك.

عند الضغط على الرابط سيتم التحويل الى العنوان الذي تريده ومفضل ان يكون الصفحة الرئيسية لموقعك. لاحظ أنه عند محاولة تحميل الملف بواسطة (حفظ باسم) سيتم التحميل ولكن الملف سيكون فارغ وحجمه 34 كيلوبايت !

شرح طريقة الاستعمال:

كما شرحت لكم سابقاً, ننسخ الكود ونضعه في ملف ال htaccess بحيث اذا أردت أن تمنع تحميل الملفات المحمية الموجودة في مجلد معيّن فعليك أن تضع ملف ال htaccess داخل ذالك المجلد, بينما لو أردت أن تمنع تحميل جميع الملفات المحمية الموجودة في موقعك فعليك أن تضع ملف ال htccess في المجلد الرئيسي لموقعك في ال public_html.

abc4web.net: استبدله بدومين موقعك

rar|RAR|ZIP|zip: الملفات التي تريد حمايتها ويمكن التعديل عليها.

http://www.abc4web.net: رابط التحويل عند محاولة تحميل ملف محمي.

هذا الأمر مفيد بالذات للملفات الكبيرة والتي تستهلك باندويث كبير, تخيّل لو كان الملف مطلوب وانتشر الرابط بالمواقع, عندها سيتم استهلاك موارد كثيرة قد لا يتحملها السيرفر الموجود عليه موقعك. عند استعمالك هذا الكود لن يتم تحميل الملف من خارج موقعك وسوف يكون التحميل فقط من خلال موقعك. تريد تحميل الملف ؟ تفضل بزيارة الموقع ولا تسحب الملف من مكان اخر.

3- مواقع صديقة


RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.friendlysite1.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://friendlysite1.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.friendlysite2.com.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://friendlysite2.com.*$ [NC]


بواسطة هذا الكود نقوم بعمل قائمة للمواقع الصديقة التي نسمح لها بعرض ملفاتنا عندهم.

شرح طريقة الاستعمال:

ضع الكود في ملف ال htaccess وحدّد من خلاله ما هي المواقع الصديقة.

friendlysite1.com: موقع صديق.

friendlysite2.com: موقع صديق آخر.

هذا الكود مفيد عندما تريد ان يكون بينك وبين موقع اخر تعاون معيّن مثلا مع موقع اسلامي أو مع موقع FeedBurner أو أي موقع آخر ترغب به.

4- مواقع غير صديقة


RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://www.badsite1.com/ [OR]
RewriteCond %{HTTP_REFERER} ^http://badsite1.com/ [OR]
RewriteCond %{HTTP_REFERER} ^http://www.badsite2.com/ [OR]
RewriteCond %{HTTP_REFERER} ^http://badsite2.com/
RewriteRule .(gif|GIF|jpg|JPG|rar|RAR)$ http://www.abc4web.net [R,L]


شرح طريقة الاستعمال:

ضع الكود في ملف ال htaccess في المجلد الرئيسي لموقعك وحدّد من خلاله المواقع الغير مرغوب بها.

badsite1.com: موقع غير مرغوب به

badsite2.com: موقع اخر غير مرغوب به.

gif|GIF|jpg|JPG|rar|RAR: الملفات المحمية ويمكنك التعديل عليها.

www.abc44web.net: رابط التحويل عند محاولة تحميل ملف من موقع غير مرغوب به.

هذا الكود مفيد للتخلص من المواقع التي تستخدم صورك وملفاتك بكثرة ويسببون ضغط على سيرفر موقعك واستهلاك كبير للباندويث

5- البرامج آلية

هذا آخر كود تركته للنهاية لأنه طويل. هنالك برامج متنوعة (bots) يمكنها تحميل كل ما يصادفها في موقعك من ملفات بدون استثناء.
هذه البرامج تسبب ضغط شديد على الموقع أثناء عملها. هنالك أيضاً عناكب سيئة. عناكب محركات البحث (جوجل … ) مرغوب بها
لكن هنالك عناكب وظيفتها “سحب” الايميلات وما الى ذالك من مهام لا بارك الله فيها. القائمة التالية تحتوي على عدد لا بأس به من هذه البرامج
وجدتها في موقع Webmasterworld ويمكنك وضعها في ملف ال htaccess للاحتياط حتى تمنعها من الحاق الضرر في موقعك.


RewriteEngine On



RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot mailto:craftbotyahoo.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]


تم النقل للفائدة
مع الشكر لصاحب هذا الجهد
شركة أيام فور ويب
days4web.com

أتمنى لكم جميعا الفائدة من هذه المشاركة

ولاتنسونا من صالح دعائكم

:fasel6:
أبوهمام
.

الدموكي
25-03-2011, 12:16 AM
بارك الله فيك اخي ابو همام وجزاك الله كل خير
علي هذا الموضوع الرائع

المغربي الجديد
25-03-2011, 12:49 AM
جزاك الله خيرا
وبارك الله بك وفيك الى يوم الدين
جاري النسخ للاحتفاظ به لأهميته
جعل الله عملك في ميزان حسناتك
تسلم الايادي
:abc_152:

أبو يوسف
25-03-2011, 11:08 AM
بارك الله فيك اخي أبو همام

سالي الفلسطينية
25-03-2011, 12:37 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .