الأمان
المصادقة الثنائية، والكابتشا، ورابط إدارة مخصّص، والتحقق من العمر، والتحصين.
يأتي TubePress مُحصَّنًا بشكل افتراضي — حماية CSRF على كل نموذج، وتحديد معدل الطلبات على الإجراءات الحساسة، وتجزئة كلمات المرور الحديثة وتجديد الجلسة، كل ذلك مدمج في النظام. فوق هذه الأساسيات، يوفر النظام مجموعة من الضوابط تتيح لك قفل لوحة الإدارة بشكل صارم.
تستعرض هذه الصفحة المصادقة الثنائية وCAPTCHA ونقل تسجيل دخول الإدارة إلى رابط سري وبوابة التحقق من العمر وأمان الاتصال، وتنتهي بقائمة تحقق للتصليب. معظم هذه الإعدادات موجودة ضمن الإعدادات → الأمان.
نظرة عامة على الأمان
الأمان الجيد متعدد الطبقات: لا يكفي ضابط واحد وحده، لكنها مجتمعةً تجعل موقعك هدفًا صعب الاختراق. الضوابط التي تديرها من إعدادات الأمان هي:
- المصادقة الثنائية — رمز لمرة واحدة عند تسجيل دخول الإدارة.
- CAPTCHA — يمنع الروبوتات من الوصول إلى نماذجك العامة.
- رابط مخصص للإدارة — يخفي تسجيل الدخول عن الماسحات الضوئية.
في الخلفية، يُجزِّئ النظام كلمات المرور باستخدام Argon2id (أو bcrypt حيث لا يتوفر Argon2)، ويتحقق من رمز CSRF مع كل طلب يُغيِّر الحالة، ويُجدِّد الجلسة عند تسجيل الدخول، ويُحدِّد عدد محاولات تسجيل الدخول والتسجيل وإعادة تعيين كلمة المرور المتكررة.
المصادقة الثنائية
تُضيف المصادقة الثنائية (2FA) رمزًا لمرة واحدة مبنيًا على الوقت (TOTP) إلى تسجيل دخول الإدارة، بحيث لا تكفي كلمة المرور المسروقة وحدها للدخول. تعمل مع Google Authenticator وAuthy و1Password وأي تطبيق متوافق مع TOTP.
للتسجيل، افتح الإعدادات → الأمان وقم بما يلي:
- انقر على تفعيل 2FA لتوليد مفتاح سري.
- امسح رمز QR بتطبيق المصادقة الخاص بك، أو اكتب المفتاح الظاهر يدويًا.
- أدخل الرمز المكوّن من 6 أرقام الحالي للتحقق وتفعيل 2FA.
يُخزَّن المفتاح السري مرتبطًا بحسابك الفردي، لذا يُسجِّل كل مسؤول مفتاحه الخاص. يتطلب تعطيل 2FA لاحقًا رمزًا حاليًا، والبوابة fail-closed: بمجرد تعيين رمز، تطلبه لوحة الإدارة عند الدخول حتى لو مررت بنموذج تسجيل الدخول العام.
CAPTCHA
يمنع CAPTCHA الإساءة الآلية على نماذجك العامة. اختر مزودًا في الإعدادات → الأمان:
الصق مفتاح الموقع والمفتاح السري للمزود، واختر سمة ودجت فاتحة أو داكنة، ثم حدد النماذج التي تريد حمايتها — يُفعَّل كل من التسجيل والتعليقات ونموذج الاتصال بشكل مستقل وهي مفعَّلة افتراضيًا بمجرد تعيين مزود. يعمل CAPTCHA جنبًا إلى جنب مع مجموعة مكافحة الرسائل المزعجة في التعليقات الموضحة في التعليقات.
رابط مخصص للإدارة
تقصف الماسحات الآلية المسارات المعروفة مثل /admin/login. يمكنك نقل نموذج تسجيل الدخول إلى مقطع سري بحيث تُخطئها تلك المسبارات. في الإعدادات → الأمان، عيِّن مقطع تسجيل دخول مخصصًا (3–50 حرفًا، حروف صغيرة وأرقام وشرطات). سيكون تسجيل دخولك عندئذٍ على /your-secret-slug بدلًا من /admin/login؛ وتبقى لوحة التحكم على /admin محمية بالمصادقة.
/admin/login عن العمل. هذا أمان بالغموض — ولا يُعدُّ بديلًا عن كلمة مرور قوية و2FA. إذا نسيت المقطع يومًا ما، امسحه مباشرةً من قاعدة البيانات: DELETE FROM settings WHERE setting_key='admin_login_slug'.بوابة التحقق من العمر
بالنسبة للمواقع ذات المحتوى للبالغين، يضع مكوّن بوابة التحقق من العمر المدمج جدارًا للتحقق من العمر على الشاشة الكاملة أمام محتواك، مع أوضاع تحقق متعددة، وعلامة RTA meta اختيارية، وروابط إلى صفحات الشروط و2257 والخصوصية. يتم تفعيله وتهيئته من /admin/plugins.
نظرًا لكونه جزءًا من إعداد الإشراف والامتثال لديك، يوجد الدليل الكامل في صفحة الإشراف.
HTTPS & الترويسات
قدِّم موقعك دائمًا عبر HTTPS — فهو يحمي كلمات المرور وملفات تعريف ارتباط الجلسة أثناء النقل. شهادة مجانية من Let's Encrypt (Certbot) تكفي. إذا كان TLS يُنهى في المنبع عند بروكسي أو موازن حمل، فأعِد توجيه المخطط (مثلًا ترويسة X-Forwarded-Proto) لكي يعلم التطبيق أن الطلب آمن.
للإنتاج، أوقف أيضًا display_errors في PHP (لمنع تتبعات المكدس من الوصول إلى الزوار) وexpose_php (لعدم الإعلان عن الإصدار). يُنبِّهك فحص الصحة على هذه الثلاثة.
قائمة تحقق التصليب
استعرض هذه القائمة قبل الإطلاق — وبشكل دوري بعده:
- عيِّن كلمة مرور مسؤول طويلة وفريدة.
- سجِّل 2FA على كل حساب من حسابات الفريق.
- انقل تسجيل الدخول إلى رابط مخصص للإدارة.
- فعِّل CAPTCHA على التسجيل والتعليقات والاتصال.
- قدِّم كل شيء عبر HTTPS.
- أوقف
display_errorsوexpose_php. - امنح الفريق الحد الأدنى من الصلاحيات التي يحتاجها — فضِّل دور المشرف على دور المسؤول.
- احرص على إبقاء PHP وTubePress محدَّثَين، وقم بإجراء نسخ احتياطية دورية.
الخطوات التالية
لا تزال عالقاً؟
افتح تذكرة من لوحة التحكم وسيساعدك فريقنا.