إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

ملف هيكست وطريقه الاستفاده منه

تقليص
هذا الموضوع مغلق.
X
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • ملف هيكست وطريقه الاستفاده منه

    درسنا اليوم عن ملف htaccess.

    وهو خاص بالمواقع المستضافة على سرفرات لينكس او يونكس ..

    نبدأ بسم الله ..

    ما هو ملف htaccess. ؟

    هو عبارة عن ملف يتواجد عادة بين ملفات الموقع ويكون مخفيا
    بحيث لا يظهر من خلال برامج FTP
    وإنما فقط من خلال أداة التحكم بالملفات في لوحة تحكم الموقع ..

    ما هو عمل هذا الملف ؟

    نحتاج إلى ملف htaccess. للتحكم في الكثير من خصائص الموقع و الملفات
    وذلك من خلال أوامر يتم إدخالها في هذا الملف
    وبالتالي يقوم بقراءة هذه الأوامر وتنفيذها على ملفات الموقع ..

    ما الذي نستطيع فعله من خلال ملف ملف htaccess. ؟

    هذا الملف يحتوي على كثير من الأوامر ... ومنها :

    1- عمل صفحات الأخطاء , كالتي تراها عندما تدخل إلى صفحة خطأ في موقع ما .. custom error messages
    2- حماية مجلدات الموقع باسم مستخدم وكلمة مرور ..
    3- توجيه صفحة البداية للموقع أو لمجلد على الموقع .. كأن تكون مثلا .. main.html بدلا من index.html
    4- تعريف السرفر المستضيف للموقع بأوامر SSI التي تصممها لموقعك ...
    5- حماية الباندويث في الموقع من الاستهلاك الخارجي .. سواء في الملفات والصور ..
    6- توجيه صفحة قديمة في الموقع إلى صفحة جديدة بدلا منها ..
    7- إخفاء محتويات المجلد عن الأعضاء أو نوع معين من الملفات فقط في المجلد ..
    8- حجب الموقع عن الزوار من دولة معينة أو جعله لزوار دولة معينة أو حجبه عن IP محدد ..
    9- تعريف الخادم بلاحقات الملفات باستخدام Mime Types

    وهناك أيضا أوامر أخرى ... ولكن سنكتفي بشرح هذه الأوامر لكثرة استخدامها ..


    كيف أنشئ ملف htaccess. جديد ؟


    يتم إنشاء ملف htaccess. جديد من خلال أي محرر نصوص
    وليكن مثلا المفكرة notebad .. ومن ثم حفظ الملف بالاسم التالي كاملا :


    "htaccess."


    مع ملاحظة وجود علامتي التنصيص ..



    كيفية عمل صفحات الأخطاء .. custom error messages



    بداية لا بد من شرح الأخطاء المحتملة لدخول الزوار إلى صفحات الموقع وهي :
    400 - Bad Request .. وتعني طلب خاطئ للصفحة
    401 - Authorization Required ... وتعني انه غير مرخص للزائر بعرض الصفحة
    403 - Forbidden .. وتعني انه ممنوع للزائر من دخول الصفحة
    404 - File not found ... وتعني أن الصفحة التي قام الزائر بطلبها غير موجودة
    500 - Internal Server Error وتعني أن هناك خطأ في خادم الموقع
    503 - Service Unavailable ... وتعني أن الخدمة غير متوفرة
    هذه هي الأخطاء الشائعة وهناك المزيد غيرها ..
    ولعمل صفحة الخطأ نكتب في ملف htaccess. الكود التالي :



    ErrorDocument [error number] [path]



    ولتفصيل هذا الأمر ..
    ErrorDocument .. وهي الدالة الخاصة بصفحة بتعيين صفحة الخطأ .
    error number ... رقم الخطأ الذي سيظهر للمتصفح ... كما هو مشروح في الأعلى
    path .. مسار الخاص بالصفحة التي ستظهر للزائر عندما يطلب صفحة خطأ .

    والأمر بالكامل يكون كالتالي :


    ErrorDocument 404 http://www.ward2u.com/404.html



    كما تلاحظ .. وضعنا رقم الخطأ ومسار الصفحة الخاصة به ..
    ولإدراج بقية الأخطاء ضعها الأوامر في الملف بشكل متتالي .. مثال :


    ErrorDocument 400 http://www.ward2u.com/400.html
    ErrorDocument 401 http://www.ward2u.com/401.html
    etc ...




    حماية مجلدات وملفات الموقع ...



    هل دخلت مرة إلى صفحة ما في موقع وظهرت لك نافذة تطلب منك إدخال اسم مستخدم وكلمة مرور ؟؟
    بالتأكيد مررت على كثير من هذه الصفحات ولم تستطع دخولها .. وذلك لأنها خاصة بمستخدمين معيين
    وما شابه ذلك .. هذا النوع من الحماية يسمى basic HTTP authentication ..
    الآن سنتعلم كيف تعمل مثل هذه الصفحات في موقعك ..
    لنفرض أن لديك مجلد على الموقع فيه عدة صفحات
    لا تريد عرضها إلا لمجموعة مستخدمين على نطاق ضيق .. ماذا ستفعل ؟؟

    في الواقع هناك الكثير من أنواع الحماية باستخدام لغات البرمجة كـ PHP
    أو جافا سكربت أو غيرها .. ولكن الأقوى هي الحماية بواسطة أوامر htaccess.
    كل ما عليك هو أن تنشئ ملف htaccess. جديد
    وتضع فيه الكود التالي ثم تضعه في المجلد الذي ترغب بحمايته :


    Username1:Password1
    Username2:Password2
    Username3:Password3



    طبعا هنا تستبدل Username1 باسم المستخدم و Password1 بكلمة المرور الخاصة به
    وإذا أردت مزيدا من الأمن لكلمة المرور فيمكن أن تشفرها بأحد أدوات تشفير DES
    المستخدمة في أنظمة يونيكس والمتوفرة بكثرة في مواقع النت
    وفي هذه الحالة طبعا ستضع مكان Password1 كلمة المرور المشفرة
    وعند عملية الدخول سيدخل المستخدم كلمة المرور قبل تشفيرها
    وستظهر في الملف بهذا الشكل تقريبا :


    kattan:vrAQKeuzMpslh


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




    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>



    حيث أن /usr/local/you/safedir/.htpasswd هو مسار ملف htaccess.
    الذي وضعنا فيه أسماء المستخدمين المصرح لهم بالدخول وكلمات المرور الخاصة بهم ..

    ويمكن الدخول للمجلد المحمي مباشرة عن طريق وضع الرابط التالي في المتصفح :




    http://usernamepassword@www.ward2u.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 مباشرا
    وهنا ستكون هذه الصفحة هي صفحة البداية فعلا ..
    فالدالة هي :


    DirectoryIndex [file]



    ومكان 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} !^http://site/.com/.*$ [NC]
    RewriteCond %{HTTP_REFERER} !^http://www/.site/.com/.*$ [NC]
    RewriteRule .*\.([jpg|gif|jpe?g]+)$ - [NC,F]



    لاحظ أن هذا الكود يحجب كل وصلات الصور الخارجة من موقعك
    ويمنعها من الظهور إلا في موقعك سواء كان :

    JCO69 Adalah Tempat Bermain Game Online Server Luar Negeri Terbesar dan Terpopuler Tahun Ini. Memberikan Pengalaman Bermain Yang Tidak Terlupakan.

    أو


    فقط عدل الكود السابق وضع مكان site اسم موقعك ..
    والدالة الأخيرة في الكود RewriteRule
    هي لتحديد لاحقات الصور المراد منعها
    ويمكنك الزيادة عليها كما ترغب ..
    وأيضا إضافة لاحقات الملفات التي تريد منع تحميلها من موقعك
    كالملفات المضغوطة zip , rar .. أو اللاحقات التنفيذية .. exe ..
    وبذلك لن يتمكن أحد من وضع وصلة في موقعه لبرنامج عندك في الموقع
    وإذا فعل ذلك فلن يعمل معه الرابط .. وعلى الزائر التوجه إلى موقعك والتحميل منه مباشرة ...





    توجيه الصفحات القديمة في الموقع ...



    لنفرض انه يوجد على الموقع منتدى .. وأعضاؤك يعرفون الرابط المباشر له
    ثم قمت بتغير اسم مجلد المنتدى .. فكيف ستوجه الزوار إلى الرابط الجديد ؟
    هناك الكثير من الحلول .. منها إضافة تاج في هيدر الصفحة
    ولكن الأفضل أن يتم ذلك عن طريق ملف htaccess.
    تضعه في نفس المجلد القديم .. ثم تضع فيه الكود التالي :


    Redirect /olddirectory/oldfile.html http://www.ward2u.com/newdirectory/newfile.html



    كل ما عليك هو تغير الوصلات في الكود بما يتوافق مع موقعك ...

    /olddirectory/oldfile.html تشير إلى الصفحة القديمة
    و newdirectory/newfile.html هي العنوان الجديد الذي سيستخدمه زوار الموقع ..




    إخفاء محتويات المجلد عن الأعضاء أو نوع معين من الملفات فقط في المجلد ..



    إذا كان لديك في الموقع مجلد وتريد إخفاء محتوياته عن الزوار فما هي الحلول المقترحة لذلك ؟؟
    لتوضيح الأمر أكثر ..
    لنفرض أن لديك مجلد في الموقع تضع فيه ملفات للتحميل بشكل مؤقت
    أو صور أو ما شابه ذلك .. ولكنك تريد منع الزوار من رؤية محتويات هذا المجلد
    فهناك عدة طرق لذلك منها إعطاء تراخيص 751 لهذا المجلد
    ولكن عن طريق ملف htaccess. تستطيع التحكم بذلك بشكل أكبر بكثير ..
    فأنت هنا تستطيع منع الزوار من مشاهدة كل محتويات المجلد .. وذلك بوضع الكود التالي في الملف :


    IndexIgnore *



    لاحظ أن ( * ) تعني جميع الملفات الضمنة داخل المجلد ..
    وقد تمنعهم فقط من عرض ملفات الصور وهنا تضع الكود التالي :
    IndexIgnore *.gif *.jpg
    ويمكنك إضافة ما تريد من لواحق ملفات الصور والملفات الأخرى كـ 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.1
    deny from 212.212.212.2
    allow from 212.212.212.1
    allow from 212.212.212.2



    وفي حال تركت الخانة الأخيرة من رقم الـ IP فارغة
    فأنت هنا تكون قد منعت نطاق كاملا ( دولة في الغالب )
    من تصفح موقعك .. مثال :

    deny from 000.000.000.

    وكذلك تفعل في حال أردت السماح فقط لنطاق معين في تصفح الموقع ..

    allow from 000.000.000.


    وأما إذا أردت منع الجميع من تصفح الموقع .. فاستخدم الكود التالي :

    deny from all



    تعريف الخادم بلاحقات الملفات باستخدام Mime Types



    في بعض الأحيان قد لا تعمل ملفات MP3 أو الفلاش أو PHP على الخادم ..
    والسبب في ذلك أن تعريف هذه الملفات غير موجود على الخادم ..
    فإذا كان الخادم لديك يدعم ملفات MP3 أو PHP
    ولكن لم تعمل عندك .. فهنا أنت بحاجة إلى تعريف الخادم بها بواسطة Mime Types ...
    فعند إضافتها يخبر الخادم المتصفح أن هذا الملف هو ملف MP3 أو ملف فلاش
    وبالتالي يكمل المتصفح المهمة ويقوم بقراءته بالشكل المناسب للملف ..
    بالنسبة لـ MIME فهي اختصار لـ Multipurpose Internet Mail Extensions
    وهو أحد البروتوكولات المتخصصة بنقل البيانات غير النصية ( كالصور وملفات الفيديو و ملفات الفلاش )
    عبر الانترنت سواء كان بالمتصفح أو البريد الالكتروني ( وغالبا يكون للبريد الالكتروني ) ...
    ولتعريف ملف فلاش مثلا .. فقط اكتب الكود التالي في ملف htaccess.


    AddType application/x-shockwave-***** ***



    بافتراض أن shockwave هو اسم الملف ..

    ولتعريف ملف midi استخدم الكود التالي :


    AddType audio/x-midi mid



    ولتعريف ملفات ريل بلير استخدم الكود التالي :


    AddType audio/x-pn-realaudio .real



    وبنفس المبدأ والطريقة تعمل مع بقية الملفات التي لم تعمل إلا بتعريفها ..
    ولكن عادة تكون هذه الأشياء معرفة بشكل افتراضي
    ولا حاجة إلى تعريفها إلا إذا دعت الحاجة إلى ذلك ..

    أخيرا .. هذه أغلب استخدامات ملف htaccess.
    وقد يكون له استخدامات أخرى غير شائعة كثيرا ..

  • #2
    []السويدي ...

    تسلم وتعيش
    [/]

    تعليق


    • #3
      []مشكور السويدي
      موضوع جدا مفيد
      لوان شالله يقدر كل اللي في المنتدى
      انهم يستفيدوا من هاي الطريقة
      [/]

      تعليق


      • #4
        أخي السويدي
        مشكور وجزاك الله خيراً
        يعطيك العافيه

        تعليق


        • #5
          غالى
          السويدى

          تعليق


          • #6
            ثامر داود

            السويدي
            تسلم وتعيش


            شكرا لك ثامر
            والف شكر لتقديم الشكر

            تعليق


            • #7
              شريرة

              مشكور السويدي
              موضوع جدا مفيد
              لو ان شالله يقدر كل اللي في المنتدى انهم يستفيدوا
              من هاي الطريقة

              شكرا لك شريرة

              تعليق


              • #8
                []شمسه
                أخي السويدي
                مشكور وجزاك الله خيراً
                يعطيك العافيه
                شكرا لك شمسه[/]

                تعليق


                • #9
                  []ملك
                  غالى
                  السويدى
                  شكرا لك ملك[/]

                  تعليق


                  • #10
                    []شكرا جزيلا السويدي و جزاك الله خيرا


                    المركيزة
                    [/]

                    تعليق


                    • #11
                      []جزاك الله خيرا[/]

                      تعليق


                      • #12
                        []تسلم على الرابط الحلو[/]

                        تعليق


                        • #13
                          []
                          شكرا جزيلا السويدي و جزاك الله خيرا
                          المركيزة
                          شكرا لك المركيزة
                          ولمرورك ونتمني لكي الافاده من البرنامج

                          [/]

                          تعليق


                          • #14
                            []شكراً السويدي

                            على موضوعك المفيد جداً


                            الله يعطيك العافية


                            جزاك الله كل خير
                            [/]

                            تعليق


                            • #15
                              []السويدي
                              تستحق الشكر عن جدارة
                              فعلا فيه افادة

                              [/]

                              تعليق

                              مواضيع تهمك

                              تقليص

                              المنتدى: القسم العام نشرت بواسطة: Reem2Rabeh الوقت: 04-23-2025 الساعة 04:27 PM
                              المنتدى: ضبط وتوكيد الجودة نشرت بواسطة: HeaD Master الوقت: 04-15-2025 الساعة 09:30 AM
                              المنتدى: التصنيع والانتاج نشرت بواسطة: HeaD Master الوقت: 04-11-2025 الساعة 01:08 PM
                              المنتدى: القسم العام نشرت بواسطة: نوال الخطيب الوقت: 03-19-2025 الساعة 03:07 AM
                              المنتدى: الكمبيوتر والإنترنت نشرت بواسطة: عوض السوداني الوقت: 03-18-2025 الساعة 07:22 AM
                              يعمل...
                              X