طبعا هنا تستبدل Username1 باسم المستخدم و Password1 بكلمة المرور الخاصة به ..
وإذا أردت مزيدا من الأمن لكلمة المرور فيمكن أن تشفرها بأحد أدوات تشفير DES المستخدمة في أنظمة
يونيكس والمتوفرة بكثرة في مواقع النت .. وفي هذه الحالة طبعا ستضع مكان Password1 كلمة
المرور المشفرة .. وعند عملية الدخول سيدخل المستخدم كلمة المرور قبل تشفيرها .. وستظهر في
الملف بهذا الشكل تقريبا :
طبعا يمكنك وضع أي عدد ترغب به من المستخدمين ...
بعد ذلك سوف تحتاج لوضع الكود الخاص بالقائمة التي ستطلب من المستخدم إدخال الاسم وكلمة المرور وهو
الكود التالي :
كود:
AuthUserFile /usr/local/you/safedir/.htpasswd AuthGroupFile /dev/null AuthName [أدخل اسم المستخدم و كلمة المرور] AuthType Basic order allow,deny allow from all require valid-user
حيث أن /usr/local/you/safedir/.htpasswd هو مسار ملف
htaccess. الذي وضعنا فيه أسماء المستخدمين المصرح لهم بالدخول وكلمات المرور الخاصة بهم
ويمكن الدخول للمجلد المحمي مباشرة عن طريق وضع الرابط التالي في المتصفح :
https://usernameassword@https://www.website.com/directory (https://usernameassword@http//www.website.com/directory)
================================================
فقط ضع اسم المستخدم وكلمة المرور وعنوان الموقع والمجلد المحمي :
وأما إذا رغبت بحماية أحد ملفات الموقع بحيث يكون تصفح أو تحميل الملف للمجموعة التي حددتها فقط
...فهنا ستستخدم الكود التالي :
كود:
files "prog.exe|pass.php|file.zip"> AuthUserFile [/path/to/file] AuthType Basic AuthName [Text that prompts the user] require valid-user
فقط اكتب عدل أسماء الملفات في السطر الأول كما ترغب .. وفي السطر الثاني تضع مسار ملف
htaccess. الذي وضعنا فيه أسماء المستخدمين المصرح لهم بالدخول وكلمات المرور الخاصة بهم
.. تماما كما فعلنا في حماية المجلد ..
يمكنك أيضا هنا وضع العدد الذي ترغب به من الملفات لكي تحميها .. أو تجعلها فقط لمجموعة محددة...
================================================
توجيه صفحة البداية للموقع أو لمجلد على الموقع:
عادة عندما نرفع ملف باسم index.html أو index.php إلى الموقع .. يكون هذا الملف
هو الصفحة الرئيسية للموقع ..
الآن هل سألت نفسك لماذا هذه الصفحة ؟؟
للإجابة على سؤالك .. افتح ملف htaccess. الموجود في الموقع .. ستلاحظ فيه كود كالتالي :
كود:
DirectoryIndex index.htm index.html index.php
الدالة DirectoryIndex مهمتها التعريف أن أسماء الصفحات التي تلي الدالة هي صفحات البداية للموقع ..
================================================
كيف يقرأ ملف htaccess. هذه الدالة :
يبدأ باسم أول صفحة وهي index.htm فإن وجدها على الموقع فسيعتبرها هي ملف الصفحة الرئيسية
..والا سينتقل للاسم الثاني index.html .. وهكذا ..
الآن لنفرض أن صفحة البداية لموقعك اسمها مختلف .. مثلا .. user.htm فهنا ستضع هذا
الاسم بعد الدالة DirectoryIndex مباشرا ... وهنا ستكون هذه الصفحة هي صفحة البداية
فعلا ..
فالدالة هي
كود:ومكان file يكون اسم الصفحة المطلوبة ...
================================================
تعريف السيرفر المستضيف للموقع بأوامر SSI التي تصممها لموقعك:
SSI هي اختصار لـ Server Side Includes
وهو بروتوكول خاص بتضمين الكود لجميع الصفحات فإذا أردت مثلا وضع كود معين أو لنفرض هيدر لكل
الصفحات فليس من الضروري وضعه في جميع صفحات الموقع وإنما من خلال SSI تضعه في صفحة
واحدة ثم تضع شفرة SSI في رأس كل ملف ...
في بعض الأحيان عندما تنشئ صفحة أو برنامج تحتوي على أوامر SSI وترفعها إلى موقعك تجد أن الملف
لا يعمل .. والسبب يعود في ذلك إلى عدم تعريف هذا الملف للسيرفر ..
كل ما عليك فعله هو تعريف الملف الذي يحتوي على أوامر SSI للسرفر عن طريق ملف
htaccess. وذلك بواسطة الكود التالي :
كود:
AddType text/html [Extension 1] [Extension 2]AddHandler server-parsed [Extension 1] [Extension 2
حيث أن [Extension 1] و [Extension 2] هي امتداد الملفات التي تريد
للسيرفر أن يتعرف عليها ليعطيها الصلاحية بتنفيذ أوامر الـ SSI بشكل اتوماتيكي ..
كود:
AddType text/html .dhtml .html AddHandler server-parsed .dhtml .html
حيث الملفات التي تعطي أوامر للسرفر باستقبال أوامر الـ SSI هي الملفات التي تنتهي بالامتداد ..
dhtml و html
================================================
حماية الباندويث في الموقع من الاستهلاك الخارجي:
ربما لاحظت في كثير من الأحيان وصلات لصور أو ملفات في موقعك في مواقع أخرى .. وهذا بالطبع قد
يتسبب بإيذاء موقعك لأنه سيستهلك الكثير من الباندويث المخصص لك شهريا ..
اذاُ كيف أجعل عرض الصور التي في موقعي لا تتم إلا من خلال الموقع نفسه ..؟ وكذلك تحميل الملفات ..؟
الحل أيضا هنا يكون باستخدام أوامر ملف htaccess.
لحجب الصور عن الظهور في موقع غير موقعك استخدم الكود التالي :
كود:
RewriteEngine on RewriteCond %{HTTP_REFERER} ^$ [OR] RewriteCond %{HTTP_REFERER} !^https://site/.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^https://www/.site/.com/.*$ [NC] RewriteRule .*.([jpg|gif|jpe?g]+)$ - [NC,F][/php لاحظ أن هذا الكود يحجب كل وصلات الصور الخارجة من موقعك .. ويمنعها من الظهور إلا في موقعك سواء كان : https://site.com/ أو https://www.site.com/ فقط عدل الكود السابق وضع مكان site اسم موقعك .. والدالة الأخيرة في الكود RewriteRule هي لتحديد لاحقات الصور المراد منعها .. ويمكنك الزيادة عليها كما ترغب .. وأيضا إضافة لاحقات الملفات التي تريد منع تحميلها من موقعك كالملفات المضغوطة zip , rar .. أو اللاحقات التنفيذية .. exe .. وبذلك لن يتمكن أحد من وضع وصلة في موقعه لبرنامج عندك في الموقع .. وإذا فعل ذلك فلن يعمل معه الرابط .. وعلى الزائر التوجه إلى موقعك والتحميل منه مباشرة ... توجيه الصفحات القديمة في الموقع ... لنفرض انه يوجد على الموقع منتدى .. وأعضاؤك يعرفون الرابط المباشر له .. ثم قمت بتغير اسم مجلد المنتدى .. فكيف ستوجه الزوار إلى الرابط الجديد ؟؟ هناك الكثير من الحلول .. منها إضافة تاج في هيدر الصفحة .. ولكن الأفضل أن يتم ذلك عن طريق ملف htaccess. تضعه في نفس المجلد القديم .. ثم تضع فيه الكود التالي : --[php]Redirect /olddirectory/oldfile.html https://yoursite.com/newdirectory/ne
كل ما عليك هو تغير الوصلات في الكود بما يتوافق مع موقعك ...
/olddirectory/oldfile.html تشير إلى الصفحة القديمة
و newdirectory/newfile.html هي العنوان الجديد الذي سيستخدمه زوار الموقع ..
================================================
إخفاء محتويات المجلد عن الأعضاء أو نوع معين من الملفات فقط في المجلد :
إذا كان لديك في الموقع مجلد وتريد إخفاء محتوياته عن الزوار فما هي الحلول المقترحة لذلك ؟؟
لتوضيح الأمر أكثر ..
لنفرض أن لديك مجلد في الموقع تضع فيه ملفات للتحميل بشكل مؤقت أو صور أو ما شابه ذلك .. ولكنك
تريد منع الزوار من رؤية محتويات هذا المجلد .. فهناك عدة طرق لذلك منها إعطاء تراخيص 751 لهذا
المجلد .. ولكن عن طريق ملف htaccess. تستطيع التحكم بذلك بشكل أكبر بكثير ..
فأنت هنا تستطيع منع الزوار من مشاهدة كل محتويات المجلد .. وذلك بوضع الكود التالي في الملف
كود:
لاحظ أن ( * ) تعني جميع الملفات الضمنة داخل المجلد ..
وقد تمنعهم فقط من عرض ملفات الصور وهنا تضع الكود التالي :
كود:
ويمكنك إضافة ما تريد من لواحق ملفات الصور والملفات الأخرى كـ zip . rar ..
================================================
حجب الموقع عن الزوار من دولة معينة أو جعله لزوار دولة معينة أو حجبه عن IP محدد :
أحيانا يرغب البعض بحجب الموقع عن إحدى الدول .. أو جعله مخصص لدولة معينة أو حتى نطاق معين
من الـ IP .. أو قد يسيء شخص ما إلى موقعك ولدى هذا الشخص IP ثابت وتريد منعه من العبث
.. ماذا تعمل في مثل هذه الحالات .؟
ملف htaccess. يعينك كثيرا في هذا الأمر ... فإذا أردت حجب الموقع عن IP معين ..
فقط ضع في ملف htaccess. الموجود في جذر موقعك الكود التالي :
كود:
deny from 000.000.000.000
وأما إذا أردت أن تجعله متاحا لـ IP واحد فقط فهنا ستضع الكود المعاكس التالي :
كود:
allow from 000.000.000.000
ويمكن إضافة العدد الذي ترغب به من الـ IP التي تريد حجبها .. فقط قم بوضع كل IP بسطر ..مثال
كود:
deny from 212.212.212.1deny from 212.212.212.2allow from 212.212.212.1allow from 212.212.212.2
وفي حال تركت الخانة الأخيرة من رقم الـ IP فارغة فأنت هنا تكون قد منعت نطاق كاملا ( دولة في الغالب ) من تصفح موقعك .. مثال :
كود:
وكذلك تفعل في حال أردت السماح فقط لنطاق معين في تصفح الموقع ..
كود:
وأما إذا أردت منع الجميع من تصفح الموقع .. فاستخدم الكود التالي :
كود:
================================================
تعريف الخادم بلاحقات الملفات باستخدام Mime Types:
في بعض الأحيان قد لا تعمل ملفات MP3 أو الفلاش أو PHP على الخادم .. والسبب في ذلك أن تعريف
هذه الملفات غير موجود على الخادم .. فإذا كان الخادم لديك يدعم ملفات MP3 أو PHP ولكن لم تعمل
عندك .. فهنا أنت بحاجة إلى تعريف الخادم بها بواسطة Mime Types ...
فعند إضافتها يخبر الخادم المتصفح أن هذا الملف هو ملف MP3 أو ملف فلاش .. وبالتالي يكمل المتصفح
المهمة ويقوم بقراءته بالشكل المناسب للملف ..
بالنسبة لـ MIME فهي اختصار لـ Multipurpose Internet Mail Extensions
وهو أحد البروتوكولات المتخصصة بنقل البيانات غير النصية ( كالصور وملفات الفيديو و ملفات الفلاش )
عبر الانترنت سواء كان بالمتصفح أو البريد الالكتروني ( وغالبا يكون للبريد الالكتروني ) ...
ولتعريف ملف فلاش مثلا .. فقط اكتب الكود التالي في ملف htaccess.
كود:
AddType application/x-shockwave-flash
بافتراض أن shockwave هو اسم الملف ..
ولتعريف ملف midi استخدم الكود التالي :
كود:
ولتعريف ملفات ريل بلير استخدم الكود التالي :
كود:
AddType audio/x-pn-realaudio .real
وبنفس المبدأ والطريقة تعمل مع بقية الملفات التي لم تعمل إلا بتعريفها .. ولكن عادة تكون هذه الأشياء
معرفة بشكل افتراضي ولا حاجة إلى تعريفها إلا إذا دعت الحاجة إلى ذلك ..
أخيرا .. هذه أغلب استخدامات ملف htaccess
[/font]