شرح شامل لـ ملف htaccess وطرق الحماية و أوامر حماية الملفات لكل موقع
السلام عليكم ورحمة الله وبركاته
التعريف بملف htaccess هو عبارة عن ملف نضع به أوامر معينة لا تقتصر فقط على حماية روابط الملفات (Hotlinking) بل له وظائف أخرى غير ذالك. في هذا الموضوع سنتكلم عن بعض الأوامر المهمة الخاصة بحماية الروابط. سنقوم بعمل ملف جديد بالنوتباد ونحفظه بالاسم htaccess. (انتبه للنقطة-مهم جدا) وفي داخل هذا الملف نضع الأوامر التي نريدها من بين الأوامر التالية:
حماية الصور
الكود يقوم بعمل وظيفتيتن:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?days4web.com(/)?.*$ [NC]
RewriteRule .(gif|GIF|jpg|JPG)$ /hotlinking/banned.gif [L,NC]
1. يمنع عرض الصور خارج موقعك.
2. يستبدل الصورة بأي صورة تختارها وهذه الصورة ستظهر في الموقع الذي استعمل صورك
شرح طريقة الاستعمال:
بداية, ننسخ الكود ونضعه في ملف ال htaccess الذي تكلمنا عنه قبل قليل. اذا أردت أن تمنع الظهور الخارجي للصور الموجودة في مجلد معيّن فعليك أن تضع ملف ال htaccess داخل ذالك المجلد, بينما لو أردت أن تمنع الظهور الخارجي للصور الموجودة في موقعك كله فعليك أن تضع ملف ال htccess في المجلد الرئيسي لموقعك في ال public_html.
days4web.com: تستبدله بدومين موقعك.
gif|GIF|jpg|JPG: امتداد الصور المحمية ويمكنك التعديل.
hotlinking/banned.gif: رابط صورة التنبيه.
يمكنك تصميم صورة التنبيه التي ستظهر في المواقع الخارجية كما تشاء. مفضل ان تكون مقاساتها صغيرة وحجمها صغير أيضا. يمكنك تصميمها بأي شكل تريده, استعمل خيالك الواسع, قد تكون الصورة دعاية لموقعك وقد تكون رسالة توبيخ. هذه الصورة يجب أن تضعها على موقع آخر (لأنه منعنا ظهور أي صورة خارج الموقع وستكون من ضمنها صورة التنبيه أيضا ! ). لكن اذا أردت أن تكون هذه الصورة على موقعك أنصحك أن تقوم بعمل مجلد تسميه مثلا hotlinking وفي داخل هذا المجلد سنضع ملف htaccess وبه الأمر التالي والذي يعني أن جميع الصور والملفات داخل هذا المجلد (ومن ضمنها صورة التنبيه) يمكنها أن تظهر بأي موقع خارجي وهي غير محمية:
RewriteEngine off
الان, من يريد استعمال صورك يستطيع تحميلها ورفعها على مساحته لكنه لن يستطيع أن يستخدم مساحتك حتى يعرض الصور في موقعه.
حماية الملفات
هذا الكود يقوم بعمل وظيفتين:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www.)?days4web.com/.*$ [NC]
RewriteRule .(rar|RAR|ZIP|zip)$ http://www.days4web.com [R,L]
1. يمنع تحميل ملفات من خارج موقعك.
2. عندما يقوم شخص بمحاولة تحميل ملف محمي سيتم تحويله الى موقعك.
عند الضغط على الرابط سيتم التحويل الى العنوان الذي تريده ومفضل ان يكون الصفحة الرئيسية لموقعك. لاحظ أنه عند محاولة تحميل الملف بواسطة (حفظ باسم) سيتم التحميل ولكن الملف سيكون فارغ وحجمه 34 كيلوبايت !
شرح طريقة الاستعمال:
كما شرحت لكم سابقاً, ننسخ الكود ونضعه في ملف ال htaccess بحيث اذا أردت أن تمنع تحميل الملفات المحمية الموجودة في مجلد معيّن فعليك أن تضع ملف ال htaccess داخل ذالك المجلد, بينما لو أردت أن تمنع تحميل جميع الملفات المحمية الموجودة في موقعك فعليك أن تضع ملف ال htccess في المجلد الرئيسي لموقعك في ال public_html.
days4web.com: استبدله بدومين موقعك
rar|RAR|ZIP|zip: الملفات التي تريد حمايتها ويمكن التعديل عليها.
http://www.days4web.com: رابط التحويل عند محاولة تحميل ملف محمي.
هذا الأمر مفيد بالذات للملفات الكبيرة والتي تستهلك باندويث كبير, تخيّل لو كان الملف مطلوب وانتشر الرابط بالمواقع, عندها سيتم استهلاك موارد كثيرة قد لا يتحملها السيرفر الموجود عليه موقعك. عند استعمالك هذا الكود لن يتم تحميل الملف من خارج موقعك وسوف يكون التحميل فقط من خلال موقعك. تريد تحميل الملف ؟ تفضل بزيارة الموقع ولا تسحب الملف من مكان اخر.
مواقع صديقة
بواسطة هذا الكود نقوم بعمل قائمة للمواقع الصديقة التي نسمح لها بعرض ملفاتنا عندهم.
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[/URL] أو أي موقع آخر ترغب به.
مواقع غير صديقة
بواسطة هذا الكود نقوم بعمل قائمة للمواقع الغير مرغوب بها والتي لن نسمح لها بعرض ملفاتنا عندهم.
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.days4web.com [R,L]
شرح طريقة الاستعمال:
ضع الكود في ملف ال htaccess في المجلد الرئيسي لموقعك وحدّد من خلاله المواقع الغير مرغوب بها.
badsite1.com: موقع غير مرغوب به
badsite2.com: موقع اخر غير مرغوب به.
gif|GIF|jpg|JPG|rar|RAR: الملفات المحمية ويمكنك التعديل عليها.
[/B[/URL]]: رابط التحويل عند محاولة تحميل ملف من موقع غير مرغوب به.
هذا الكود مفيد للتخلص من المواقع التي تستخدم صورك وملفاتك بكثرة ويسببون ضغط على سيرفر موقعك واستهلاك كبير للباندويث
البرامج آلية
هذا آخر كود تركته للنهاية لأنه طويل. هنالك برامج متنوعة (bots) يمكنها تحميل كل ما يصادفها في موقعك من ملفات بدون استثناء. هذه البرامج تسبب ضغط شديد على الموقع أثناء عملها. هنالك أيضاً عناكب سيئة. عناكب محركات البحث (جوجل … ) مرغوب بها لكن هنالك عناكب وظيفتها “سحب” الايميلات وما الى ذالك من مهام لا بارك الله فيها. القائمة التالية تحتوي على عدد لا بأس به من هذه البرامج وجدتها في موقع Webmasterworld[/URL] ويمكنك وضعها في ملف ال htaccess للاحتياط حتى تمنعها من الحاق الضرر في موقعك.
RewriteEngine On
[RIGHT]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]
[/RIGHT]
بارك الله فيك