آخر تحديث

احمِ صفحة HTML بكلمة مرور، وما لا يستطيع سكربت داخل الصفحة حمايته

بقلم

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

الصق صفحتك واختر من يمكنه فتحها

لماذا لا تكون كلمة المرور داخل الصفحة كلمة مرور حقًا

لا يستطيع المتصفح أن يعرض إلا ما نزّله بالفعل. فإن كان التحقق يجري داخل الصفحة، فقد وصل المحتوى مع الصفحة، وغالبًا وصلت كلمة المرور أيضًا. ويُظهر View Source (عرض المصدر) الاثنين، وكذلك حفظ الصفحة.

الأشكال الشائعة، وما يتركه كل منها مفتوحًا:

  • إخفاء المحتوى حتى تكون كلمة المرور صحيحة. إنه موجود في HTML في كل الأحوال.
  • التحقق من تجزئة (hash) كلمة المرور، لا من كلمة المرور نفسها. كلمة المرور مخفية. أما المحتوى فلا.
  • إرسال الناس إلى صفحة سرية حين تطابق كلمة المرور. الصفحة السرية صفحة عامة بعنوان غير مألوف. ومن لديه العنوان، من رسالة بريد أُعيد توجيهها أو من سجل متصفح، يفتحها دون كلمة المرور.
  • تشفير المحتوى، لتفك الصفحة تشفيره بكلمة المرور. هذه الطريقة تحمي المحتوى فعلًا، إن كانت كلمة المرور طويلة وعشوائية. لكن من لديه الملف يستطيع تجربة كلمات المرور على كمبيوتره بأقصى سرعة يسمح بها، دون أي شيء يبطئه. ولا رجعة فيها: من لديه الملف وكلمة المرور يحتفظ بهما، وتغيير كلمة المرور يعني تشفير الصفحة ورفعها من جديد.

ما تفعله البوابة الحقيقية

يجري التحقق على الخادم، قبل إرسال الصفحة. فبدون كلمة المرور يرسل الخادم نموذجًا بدلًا من الصفحة. ومعها يتذكر الخادم أن هذا المتصفح قد عبر، عادة بملف تعريف ارتباط (cookie)، ويرسل الصفحة إلى كل طلب يحمله. وهذا يعني:

  • لا يصل المحتوى أبدًا إلى من لا يملك كلمة المرور.
  • كل تخمين يذهب إلى الخادم، الذي يستطيع إبطاء التخمين.
  • البوابة المبنية جيدًا تخزّن كلمة المرور بتجزئة بطيئة، فلا يمكن قراءتها من جديد.
  • تغيير كلمة المرور، أو إزالتها، يجري في مكان واحد.

ثلاث طرق للحصول على واحدة

لموقع كامل، على WordPress أو Squarespace أو Wix أو Netlify أو Vercel أو Cloudflare، راجع كيف تحمي موقعًا بكلمة مرور.

على خادم تديره بنفسك

في Apache وnginx مصادقة HTTP Basic مدمجة: ملف بأسماء المستخدمين وكلمات مرور مُجزّأة، يُنشأ ببرنامج htpasswd، وبضعة أسطر من الإعدادات (auth_basic وauth_basic_user_file في nginx؛ AuthType Basic وAuthUserFile في Apache). ويعرض المتصفح مربع تسجيل الدخول الخاص به. وترسل مصادقة Basic كلمة المرور مع كل طلب، فلا تستخدمها إلا عبر HTTPS.

على استضافة ثابتة تقدّمها

تستطيع بعض الاستضافات الثابتة وضع كلمة مرور على موقع كامل، وغالبًا في خطة مدفوعة. فـ Netlify مثلًا تقدّمها في خطة Pro، لا في Free ولا في Personal، بحسب وثائق Netlify، كما قرأناها في 13 أكتوبر 2026. تحقق من الخطة قبل أن تعتمد عليها.

على Solta

اختر بكلمة مرور ضمن من يمكنه فتح الموقع، في كل الخطط: موقع واحد في كل مرة في خطة Free، و5 في خطة Plus، وكل المواقع في خطط Pro وTeam. يتحقق Solta من كلمة المرور على خادمه قبل أن يرسل أي جزء من الموقع، ويخزّنها مُجزّأة فلا يستطيع أن يعرضها لك من جديد، ويحدّ من سرعة من يحاول تخمينها.

وإن كانت كلمة المرور المشتركة هي نقطة الضعف، فاختر بالدعوة بدلًا منها، في خطط Pro وTeam. لا يدخل إلا عناوين البريد التي تحددها، ويُتحقق من كل منها مرة واحدة بالبريد، دون حساب ودون كلمة مرور تنتقل من يد إلى يد. والموقع المحمي بأي منهما لا يمكن تضمينه في موقع آخر، لأن إطارًا يتخطى البوابة لن يكون بوابة على الإطلاق.

يطلب غير مُدرج من محركات البحث ألا تفهرس الموقع، لكنه ليس كلمة مرور: أي شخص لديه الرابط يفتحه. من يمكنه فتح موقع.

أيًّا كان اختيارك

  • أرسل كلمة المرور منفصلة عن الرابط، عبر قناة أخرى، وإلا فقد أرسلت شيئًا واحدًا.
  • اجعلها طويلة، ولا تعِد استخدام كلمة مرور من مكان آخر.
  • قدّم الصفحة عبر HTTPS، لكي لا تعبر كلمة المرور الشبكة مكشوفة.

أسئلة

هل يمكنني حماية صفحة HTML بكلمة مرور باستخدام JavaScript؟

ليس حقًا. إن كان التحقق يجري داخل الصفحة، فقد وصل المحتوى معها، وغالبًا وصلت كلمة المرور أيضًا: يُظهر View Source (عرض المصدر) الاثنين، وكذلك حفظ الصفحة. يجب أن يجري التحقق على الخادم، قبل إرسال الصفحة.

هل يفيد تشفير محتوى الصفحة؟

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

كيف تعمل كلمة المرور الحقيقية على موقع؟

يتحقق الخادم من كلمة المرور قبل أن يرسل الصفحة. فإن لم تكن معك أرسل نموذجًا بدلًا منها. وإن كانت معك تذكّر أن هذا المتصفح قد عبر، عادة بملف تعريف ارتباط. لا يصل المحتوى أبدًا إلى من لا يملك كلمة المرور، وكل محاولة تمر بالخادم، الذي يستطيع إبطاء من يحاول التخمين.

هل تضع Netlify كلمة مرور على موقع في خطتها المجانية؟

لا. بحسب وثائق Netlify، كما قرأناها في 13 أكتوبر 2026، الحماية بكلمة مرور متاحة في خطة Pro، لا في Free ولا في Personal.

كيف أضع كلمة مرور على صفحة في Solta؟

اختر «بكلمة مرور» ضمن من يمكنه فتح الموقع، في كل الخطط: موقع واحد في كل مرة في خطة Free، و5 في خطة Plus، وكل المواقع في خطط Pro وTeam. يتحقق Solta من كلمة المرور على خادمه قبل أن يرسل أي جزء من الموقع، ويخزّنها مُجزّأة، ويحدّ من سرعة المحاولات. ولكي لا تعتمد على كلمة مرور مشتركة، اختر «بالدعوة»، في خطط Pro وTeam.

انشر مباشرة من محادثة الذكاء الاصطناعي

اربط Solta بـ Claude أو ChatGPT واطلب ذلك: يُنشر الموقع برابط، دون نسخ أي كود.