المعتصم
11-04-2009, 10:33
السلام عليكم ورحمة الله وبركاته :
كلنا سمعنا او تعاملنا مع ملفات htaccess ولكن ما وصل الينا من معرفة قليل جدا عن فوائد هذه الملفات و التي سوف احرص من خلال هذا المقال توفير اكبر قدر ممكن لأهم فوائد هذه الملفات , التي تتعدى الحماية كما هو معروف لدينا بل تساعدك في توفير ما تشاء في موقعك من خلال كتابة بعض الاوامر البسيطة و بذلك يكون استخدامك لها بشكل صحيح و دراية كاملة .
ماهي هذه الملفات ؟
ان لفظ ملف مبالغ به في وصفها لانها لا تحتوي على امتداد حتى نصفها به بل هي بكل بساطة htaccess , و تكون هذه الملفات مخفية و لا يمكن عرض محتواها مباشرة في الموقع , ولكن تستطيع مشاهدها من خلال لوحة التحكم الخاصة بالموقع عن طريق مدير الملفات او من خلال برامج FTP .
انشاء htaccess !
لكي تنشيء htaccess افتح أي محرر نصوص وليكن المفكرة و انشاء ملف باسم htaccess.txt الان قم بحذف txt. في نهاية اسم الملف وبهذا تم عمل htaccess تحتاج اضافة نقطة في البداية htaccess. ولكن قد يصعب عليك ذلك في جهازك ولكن ارفع الملف الى موقعك وغير اسمة بستخدام FTP او بستخدام لوحة التحكم الخاصة بذلك .
فوائد htaccess وكيف استخدمها ؟
ملفات htaccess يجب أن ترسل الى موقعك ( ترفع ) كنمط آسكي ASCII ، ليس ثنائي BINARY , ايضا قد تحتاج الى ترخيص ( تصريح ) CHMOD 644 و فائدة هذا الترخيص هي جعل الملف صالح للاستخدام في الخادم فقط و لا يمكن عرضة من الزائر او تعديل محتواه وفي الغالب اكثر من يستخدم htaccess يتجاهل هذا الترخيص و قد يشكل خطر على الموقع اذا كان يحتوي على ارقام سرية مشفرة يمكن كسرها .
اذا ما نعرف عن هذه الملفات هي توفير الحماية لمجلدات موقعك , اما بمنع الوصول او تعطيل خواص , ان ملفات htaccess مفيدة جدا في تطبيقات الصفحات و من هذا الفوائد :
1- وثائق صفحات الخطأ .
و هذا دليل متكامل لاهم صفحات الخطأ سوف اختصر قد الامكان
أخطاء تعرض للزوار
400 Bad Request
401 Authorization Required
402 Payment Required (not used yet)
403 Forbidden
404 Not Found وهذا الخطأ لعدم توفر الصفحة .
405 Method Not Allowed
406 Not Acceptable (encoding)
407 Proxy Authentication Required
408 Request Timed Out
409 Conflicting Request
410 Gone
411 ******* Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
انواع اخطاء السيرفر الخادم .
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
واهم هذه الاخطاء التي أخطاء تعرض للزوار وسوف اشرح بعضها :
400 - Bad Request .. وتعني طلب خاطئ للصفحة
401 - Authorization Required ... وتعني انه غير مرخص للزائر بعرض الصفحة
403 - Forbidden .. وتعني انه ممنوع للزائر من دخول الصفحة
404 - File not found ... وتعني أن الصفحة التي قام الزائر بطلبها غير موجودة
500 - Internal Server Error وتعني أن هناك خطأ في خادم الموقع
503 - Service Unavailable ... وتعني أن الخدمة غير متوفرة
الان استخدام htaccess في عمل صفحات الخطأ .
اعمل ملف باسم htaccess. وضع بداخلة التالي :
كود PHP:
Error******** [عنوان الخطأ ] [رقم الخطاء]
Error******** .. وهي الدالة الخاصة بصفحة بتعيين صفحة الخطأ
مثال
كود PHP:
Error******** 400 /errors/badrequest.html
Error******** 401 /errors/authreqd.html
Error******** 403 /errors/forbid.html
Error******** 404 /errors/notfound.html
Error******** 500 /errors/serverr.html
الان اعمل مجلد في موقعك بهذا الشكل
yoursite.com/errors/
يحتوي على هذا الصفحات notfound.html و badrequest.html و authreqd.html و forbid.html و serverr.html و اكتب بها ما يناسبك .
2- حماية المجلدات بكلمة سر .
و يعرف هذا النوع من الحماية بـ basic HTTP authentication
و تحتاج لعمل حماية بستخدام htaccess لعمل ملف اخر باسم .htpasswd لوضع الارقام السرية بداخلة و يفضل تشفيرها و كذلك وضعها في مجلد مجاور الى مجلد www الرئيس في موقعك .
مثال :
اعمل ملف htaccess وضع في داخلة التالي :
كود PHP:
AuthUserFile /usr/local/you/safedir/.htpasswd
AuthGroupFile /dev/null
AuthName [أدخل اسم المستخدم و كلمة المرور]
AuthType Basic
<Limit GET POST>
order allow,deny
allow from all
require valid-user
</limit>
مثال اخر
كود PHP:
AuthType Basic
AuthName "stop"
AuthUserFile "/home/اسم المستخدم لموقعك /.htpasswds/ "
require valid-user
ويفضل ان يكون ملف الارقام السرية في مجلد مجاور مجلد www
و يحتوي ملف .htpasswds على الارقام السرية ويكون بهذا الشكل :
Username1:Password1
Username1 مثلا badr و Password1 مشفر md5 ويكون بهذا الشكل
كود PHP:
badr:e1a378b86bc5c0203239b935e2964ba3
حماية ملف او صور
كود PHP:
<files "file.exe|file.php|file.zip">
AuthUserFile [/path/to/file]
AuthType Basic
AuthName [Text that prompts the user]
require valid-user
في السطر الاول اسماء الملفات التي ترغب بحمايتها و الثاني أسماء المستخدمين المصرح لهم بالدخول وكلمات المرور الخاصة بهم .. تماما كما فعلنا في حماية المجلد ..
يمكنك أيضا هنا وضع العدد الذي ترغب به من الملفات لكي تحميها .. أو تجعلها فقط لمجموعة محددة...
كلنا سمعنا او تعاملنا مع ملفات htaccess ولكن ما وصل الينا من معرفة قليل جدا عن فوائد هذه الملفات و التي سوف احرص من خلال هذا المقال توفير اكبر قدر ممكن لأهم فوائد هذه الملفات , التي تتعدى الحماية كما هو معروف لدينا بل تساعدك في توفير ما تشاء في موقعك من خلال كتابة بعض الاوامر البسيطة و بذلك يكون استخدامك لها بشكل صحيح و دراية كاملة .
ماهي هذه الملفات ؟
ان لفظ ملف مبالغ به في وصفها لانها لا تحتوي على امتداد حتى نصفها به بل هي بكل بساطة htaccess , و تكون هذه الملفات مخفية و لا يمكن عرض محتواها مباشرة في الموقع , ولكن تستطيع مشاهدها من خلال لوحة التحكم الخاصة بالموقع عن طريق مدير الملفات او من خلال برامج FTP .
انشاء htaccess !
لكي تنشيء htaccess افتح أي محرر نصوص وليكن المفكرة و انشاء ملف باسم htaccess.txt الان قم بحذف txt. في نهاية اسم الملف وبهذا تم عمل htaccess تحتاج اضافة نقطة في البداية htaccess. ولكن قد يصعب عليك ذلك في جهازك ولكن ارفع الملف الى موقعك وغير اسمة بستخدام FTP او بستخدام لوحة التحكم الخاصة بذلك .
فوائد htaccess وكيف استخدمها ؟
ملفات htaccess يجب أن ترسل الى موقعك ( ترفع ) كنمط آسكي ASCII ، ليس ثنائي BINARY , ايضا قد تحتاج الى ترخيص ( تصريح ) CHMOD 644 و فائدة هذا الترخيص هي جعل الملف صالح للاستخدام في الخادم فقط و لا يمكن عرضة من الزائر او تعديل محتواه وفي الغالب اكثر من يستخدم htaccess يتجاهل هذا الترخيص و قد يشكل خطر على الموقع اذا كان يحتوي على ارقام سرية مشفرة يمكن كسرها .
اذا ما نعرف عن هذه الملفات هي توفير الحماية لمجلدات موقعك , اما بمنع الوصول او تعطيل خواص , ان ملفات htaccess مفيدة جدا في تطبيقات الصفحات و من هذا الفوائد :
1- وثائق صفحات الخطأ .
و هذا دليل متكامل لاهم صفحات الخطأ سوف اختصر قد الامكان
أخطاء تعرض للزوار
400 Bad Request
401 Authorization Required
402 Payment Required (not used yet)
403 Forbidden
404 Not Found وهذا الخطأ لعدم توفر الصفحة .
405 Method Not Allowed
406 Not Acceptable (encoding)
407 Proxy Authentication Required
408 Request Timed Out
409 Conflicting Request
410 Gone
411 ******* Length Required
412 Precondition Failed
413 Request Entity Too Long
414 Request URI Too Long
415 Unsupported Media Type
انواع اخطاء السيرفر الخادم .
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
واهم هذه الاخطاء التي أخطاء تعرض للزوار وسوف اشرح بعضها :
400 - Bad Request .. وتعني طلب خاطئ للصفحة
401 - Authorization Required ... وتعني انه غير مرخص للزائر بعرض الصفحة
403 - Forbidden .. وتعني انه ممنوع للزائر من دخول الصفحة
404 - File not found ... وتعني أن الصفحة التي قام الزائر بطلبها غير موجودة
500 - Internal Server Error وتعني أن هناك خطأ في خادم الموقع
503 - Service Unavailable ... وتعني أن الخدمة غير متوفرة
الان استخدام htaccess في عمل صفحات الخطأ .
اعمل ملف باسم htaccess. وضع بداخلة التالي :
كود PHP:
Error******** [عنوان الخطأ ] [رقم الخطاء]
Error******** .. وهي الدالة الخاصة بصفحة بتعيين صفحة الخطأ
مثال
كود PHP:
Error******** 400 /errors/badrequest.html
Error******** 401 /errors/authreqd.html
Error******** 403 /errors/forbid.html
Error******** 404 /errors/notfound.html
Error******** 500 /errors/serverr.html
الان اعمل مجلد في موقعك بهذا الشكل
yoursite.com/errors/
يحتوي على هذا الصفحات notfound.html و badrequest.html و authreqd.html و forbid.html و serverr.html و اكتب بها ما يناسبك .
2- حماية المجلدات بكلمة سر .
و يعرف هذا النوع من الحماية بـ basic HTTP authentication
و تحتاج لعمل حماية بستخدام htaccess لعمل ملف اخر باسم .htpasswd لوضع الارقام السرية بداخلة و يفضل تشفيرها و كذلك وضعها في مجلد مجاور الى مجلد www الرئيس في موقعك .
مثال :
اعمل ملف htaccess وضع في داخلة التالي :
كود PHP:
AuthUserFile /usr/local/you/safedir/.htpasswd
AuthGroupFile /dev/null
AuthName [أدخل اسم المستخدم و كلمة المرور]
AuthType Basic
<Limit GET POST>
order allow,deny
allow from all
require valid-user
</limit>
مثال اخر
كود PHP:
AuthType Basic
AuthName "stop"
AuthUserFile "/home/اسم المستخدم لموقعك /.htpasswds/ "
require valid-user
ويفضل ان يكون ملف الارقام السرية في مجلد مجاور مجلد www
و يحتوي ملف .htpasswds على الارقام السرية ويكون بهذا الشكل :
Username1:Password1
Username1 مثلا badr و Password1 مشفر md5 ويكون بهذا الشكل
كود PHP:
badr:e1a378b86bc5c0203239b935e2964ba3
حماية ملف او صور
كود PHP:
<files "file.exe|file.php|file.zip">
AuthUserFile [/path/to/file]
AuthType Basic
AuthName [Text that prompts the user]
require valid-user
في السطر الاول اسماء الملفات التي ترغب بحمايتها و الثاني أسماء المستخدمين المصرح لهم بالدخول وكلمات المرور الخاصة بهم .. تماما كما فعلنا في حماية المجلد ..
يمكنك أيضا هنا وضع العدد الذي ترغب به من الملفات لكي تحميها .. أو تجعلها فقط لمجموعة محددة...