اذا كنت تمتلك موقع ويب متجر أو مدونة على الانترنت فهذه التدوينة كتبت لك
سنتحدث في هذه المقالة عن ملف ال htaccess و أهميته في أمان المواقع وتحسين محركات البحث والمهام التي يمكنه القيام بها
ما هو ملف htaccess
والتي تعني الوصول إلى النص التشعبي Hypertext Access هو اختصار للكلمة htaccess
ملف htaccess هو ملف نصي بسيط يستخدم لتكوين خوادم الويب تمت برمجته باستخدام لغة apache programming language وهي لغة خاصة بسيرفر الأباتشي وهي عبارة عن بعض التعليمات التي توجه السيرفر ماذا يفعل
في حال لم يكن لديك وصول إلى تكوينات خادم الويب الأصلية ، يمكنك استخدام هذا الملف لتهيئة خادم الويب الخاص بك. باستخدام هذا الملف ، يمكنك التحكم في الوصول إلى الملفات والمجلدات في الموقع
أهمية ملف htaccess
htaccess هو ملف تتم الإشارة إليه بانتظام عند الحديث عن أمان موقع الويب. إنه مشابه لبواب البوابة الذي يتولى فحص الأمان الأولي لجميع أنواع الزوار في المبنى
فهويعتبر أداة قوية جدا لحماية موقعك من المهاجمين أو التعطل المفاجئ بالاضافة الى انه يقوم بالعمل على تحسين محركات البحث للموقع و غيرها الكثير من الوظائف و المهام التي يقوم بها
أين يوجد ملف الـ htaccess ؟
نجد ملف htaccess دائمًا بشكل مخفي على أي خادم من النوع Apache ، ولهذا توجد نقطة أمام الملف
يوجد تحت ملف المجلد الأب المعروف public_html
ويمكنك رؤيته من خلال برنامج رفع الملفات للخادم Filezilla الذي يتبع بروتوكول FTP أو من خلال مدير الملفات في لوحه التحكم ثم الدخول الى public_html واظهار الملفات المخفية
وفي بعض الحالات قد لا يكون متوفر في ملفات الموقع فيتم انشائه يدوياََ
انشاء ملف htaccess
- قم بالدخول إلى لوحة التحكم cpanel الخاصة بك
- ثم قم بالضغط على مدير الملفات او File Manager
- اختر public_html
- قم بإنشاء ملف ال htaccess. ولا تنس وضع نقطه قبله لانه من الملفات المخفيه
الأوامر التي يمكن القيام بها من خلال ملف htaccess
يقوم ملف htacess بالكثير من الأوامر والمهام الني ستجعلك تتحكم بصورة احترافية في كثير من الأمور
لكن عليك الحذر أي خطأ في كتابة أوامر ملف htaccess، قد تسبب أضرار بالغة لموقعك، لذا لا تنس القيام بعملية بالنسخ الاحتياطي للملف الأصلي لضمان استعادته عند الضرورة
سنستعرض هنا بعض الأوامر التي يمكن التحكم بها من خلال ملف الـ htaccess
لكن يبقى الكثير غيرها من الأوامر يمكن الإتطلاع عليها من خلال موقع css-tricks
إعادة توجيه عناوين الـ URL
يتم استخدام أمر اعاده التوجيه عند الرغبة في توجيه زوار الموقع الى صفحة جديده
تستخدم عند نقل المحتوى لعنوان URL جديد و عند حذف صفحة، أو تغيير اسم الدومين
لعمل التوجيه لصفحة جديدة من صفحة قديمة على نفس الموقع استخدم الكود
Redirect /path-to-old-file.html /path-to-new-file.html.html
path-to-old-file.html : العنوان القديم للصفحة الموجه منها
path-to-new-file.html : العنوان الجديد للصفحة الموجه إليها
للتوجيه من صفحة قديمة على موقع قديم إلى صفحة جديدة على موقع جديد نستخدم الكود التالي :
Redirect /path-to-old-file.html https://new-site.com//path-to-new-file.html
في هذا الأمر عن نقوم بإضافة عنوان الموقع مع عنوان الصفحة كالتالي: https://new-site.com/path-to-new-file.html
لأن الصفحة على موقع آخر غير الموقع القديم
إنشاء صفحات خطأ مخصصة
يسمح لك الملف بإنشاء صفحات خطأ مخصصة “عليك أولا القيام بتصميم صفحة الخطأ لموقعك”، مثل صفحات 404 المشهورة و400 و401 و403 و500 وغيرها ولعمل استخدم الكود التالي :
ErrorDocument write-error-number-here path
write-error-number-here هو هذا رقم الخطأ ، وPath هو المسار للصفحة المخصصة.
مثل ErrorDocument 404 /path-to-page-404.html
إجبار موقعك على استخدام HTTPS بدلًا من HTTP
لأمان موقعك دائما ما ينصح باستخدام HTTPS و تفعيل شهادة ssl
لأجبار موقعك على فعل هذا قم بكتابة الكود :
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
منع الوصول إلى ملف htaccess
يتم ذلك من خلال إعادة تسمية ملف htaccess يتم ذلك تغيير هذا الاسم وامتداده
تذكر أنه يتم كتابة هذا الأمر في ملف httpd.conf وهو الملف الأب ل htaccess
لتصعيب المهمة على المخترقين. قم بكتابة الأمر التالي:
AccessFileName test.access
حماية مجلدات الموقع بكلمة مرور
يتم ذلك عن طريق إنشاء واستخدام ملف مساعد آخر وهو htpasswd، عن طريق الأوامر التالية:
AuthType Basic
AuthName “Restricted Area”
AuthUserFile /home/public_html/wp-admin/.htpasswd
require valid-user
إذا كان التوجيه AuthType من نوع Basic فسوف يعتمد على تقييد الوصول
اما اذا كان من نوع none فسوف يسمح للوصول للمجلدات المطلوبة
الأمر AuthName يحدد هل مسموح بالدخول بكلمة سر أم لا، في مثالنا هنا يستخدم Restricted Area وهذا يعني وجوب الدخول بكلمة مرور
التوجيه AuthUserFile يحدد موقع ملف مصادقة المستخدم، ويجب ألا يكون هذا الملف متاحًا عبر الإنترنت، ويعطى عنوان الملف وهو /home/public_html/wp-admin/.htpasswd
يوجه الأمر require valid-user الخادم Apache إلى تنفيذ حماية بكلمة المرور ، ويطلب كلمة مرور صالحة قبل السماح بالوصول
حظر عنوان IP معين من الدخول إلى موقعك
قد تواجه محاولة اختراق لموقعك من عناوين IPs معينة، وبالتالي فأنت تحتاج لحظر هذه العناوين
استخدم الأمر
<Limit GET POST PUT>
Order allow,deny
Allow from all
Deny from 219.5.0.0/16
Deny from 99.0.0/8
</Limit>
Allow from all تعني السماح للكل ، ويعني Deny from 219.5.0.0/16 وDeny from 99.0.0/8 رفض العنوانين المذكورين وعدم السماح لهما بالوصول.
زيادة حجم الملفات التي يمكن تحميلها مثل الصور
قم باستخدام الأمر :
php_value upload_max_filesize 30M
php_value post_max_size 30M
php_value max_execution_time 400
php_value max_input_time 400
تفعيل تشفير MD5 لحماية الموقع
يعد التشفير من أهم الطرق لحماية البيانات
استخدم الكود :
ContentDigest On
الأمر ContentDigest يسمح أو يوقف التشفير بنظام MD5
تعيين ملفات تعريف الارتباط
يمكنك الإطلاع على مقالتنا الخاصة بملفات تعريف الارتباط
لتعيين ملف تعريف الارتباط cookies الشهيرة ، لتتبع ما يفعله العميل على موقعك ، يتم بكتابة التالي:
Header set Set-Cookie “language=%{lang}e; path=/;” env=lang
Code language: HTML, XML (xml)
لإنشاء ملف تعريف ارتباط على حاسوب العميل يتم بكتابة التالي:
RewriteEngine On
RewriteBase /
RewriteRule ^(.*)(de|es|fr|it|ja|ru|en)/$ – [co=lang:$2:.your-server-
تصحيح عنوان URL تلقائيًا إذا تمت كتابته بشكل خاطيء
في بعض الأحيان يخطئ الزائر في كتابه عنوان الموقع ، ولهذا فإن خاصية تصحيح الأخطاء تلقائيًا، سوف تسهل الوصول الى الموقع وتزيد أعداد زائريه. لتفعيل خاصية التصحيح:
<ifmodule mod_speling.c>
CheckSpelling On
</ifmodule>
الخاتمة :
يعد ملف htaccess من نقاط القوة لأمان موقعك لكن يتوجب عليك اخذ نسخة احتياطيه قبل البدء في التعديل عليه ، و التعامل معه بحذر شديد حتى لا يصاب موقعك بأي عطل أ فقدان للملفات
استعرضنا في هذه التدوينه ملف ال htaccess بالاضافه الى بعض الأوامر التي يمكنه تنفيذها تساهم في تعزيز أمان الموقع لكن لا يزال هناك الكثير من التعليمات على الانترنت ننصحك بالاطلاع عليها و البدء في توظيف ملف الـ htaccess لصالح موقعك
المراجع :
https://ithemes.com/blog/what-is-the-htaccess-file/#common-uses-of-htaccess-file
https://help.one.com/hc/en-us/articles/115005586169-What-is-htaccess-