Express.js / دليل حلول تحريري
تشخيص ملفات الارتباط الآمنة وثقة الوكيل ورفض المتصفح
افصل إعادة بناء النقل وأهلية الملف وسلطة الجلسة وCORS قبل تخفيف سياسة الوصول.
قاعدة معرفة للقراءة فقط · بلا تعليقات عامة
تعرّف على الأعراض
قد يعمل الدخول محلياً لا خلف المدخل، أو لا يحفظ الملف الآمن، أو يظهر الجميع بعنوان الوكيل، أو تتعذر قراءة الرد الموثق بالشيفرة. لا يثبت الاتصال حفظ الاعتماد أو قبول جلسة صحيحة.
افهم الأسباب المحتملة
- تشمل الأسباب اختلاف ثقة الوكيل وعدم استبدال الإحالة وسمات الملف ونمط الاعتماد وCORS غير المتوافق وانتهاء السلطة أو مخزناً غير مناسب. تحتاج أدلة منفصلة؛ وقد يضيف توسيع الثقة والأصل ثغرات دون إصلاح السبب.
تأكد من المدخل والبيانات الموثوقة
حدد إنهاء TLS والوكيل وإعادة الترويسات وكل الطرق بسجلات معتمدة. قارن البروتوكول والعنوان المقصودين ببيانات آمنة. لا تثق في X-Forwarded-* عشوائية أو تفترض أمان عدد انتقالات مع طريق أقصر. قد يجتمع HTTP داخلي مع HTTPS عام، لكن تعيد بناء الحقيقة سياسة متحقق منها فقط. لا تعطل الملف الآمن لأن التطبيق يرى الداخل HTTP. أصلح حد الثقة الذي يحدد مصدر المعلومة بدلاً من تغيير حماية الملف لإخفاء الاختلاف.
تتبع أهلية الملف وسلطة الخادم منفصلين
افحص السمات وأسباب الرفض دون نسخ المعرف للسجلات. يجب أن توافق Domain وpath وSecure وSameSite والانتهاء سير الأصل والموقع. تقيد HttpOnly قراءة الشيفرة؛ فلا يثبت الغياب من document.cookie غياب الملف. تأكد من إرساله ثم قبول المخزن لسلطته الحالية. يحتاج الخروج والانتهاء إبطالاً بالخادم. لا يمثل MemoryStore المحلي الافتراضي جلسة إنتاج مشتركة بين العمال، ولا يحوله الالتصاق لحالة دائمة. افصل مكان حمل الهوية عن المكان الذي يقرر بقاء صلاحيتها.
شخص سياسة قراءة المتصفح دون خلطها بالدخول
قارن Origin والطريقة والترويسات والفحص والرد ونمط الاعتماد. يحتاج الرد مع اعتماد أصلاً صريحاً معتمداً متوافقاً لا اختصاراً شاملاً. تضبط CORS قراءة الرد ولا تمنع عميلاً عشوائياً أو تغييراً مزوراً. احفظ المصادقة والكائن وCSRF. JSON قائمة اصطناعية لا إعداداً حياً مختبراً. عالج الأصل الغائب أو null وفق العملاء الموثقين لا بالموافقة لإزالة رسالة. وقد يكون الخادم نفذ الفعل قبل منع القراءة، فاحفظ هوية العملية عند بحث إعادة طلب كتابة.
{"review":["verified-ingress","forwarded-header-rewrite","cookie-eligibility","current-session-authority","approved-origin","credential-mode","csrf-policy"],"secretValues":"excluded","execution":"no-live-browser-or-proxy-test"}
تسمي أدلة مستقلة ولا ترسل طلباً أو تضبط ملفاً أو وكيلاً أو وسيط CORS.
أصلح الطبقة الفاشلة وأعد فحص الطريق كاملاً
صحح المدخل أو إعادة الكتابة عند خطأ البنية، ونطاق الملف ودورته عند رفض المتصفح، والهوية أو الإلغاء عند رفض المخزن. غير سياسة الأصل والاعتماد المعتمدة فقط إذا ثبت اختلاف CORS. ثم تحقق من الدخول والقراءة والمنع والخروج والانتهاء وتبديل الهوية بالطريق نفسه. لا يجري الدليل عملية وكيل أو متصفح أو جلسة. يحتاج التحقق الحقيقي نشراً معزولاً مأذوناً وهويات اصطناعية دون تخزين اعتمادات حقيقية في الدليل. نجاح طبقة واحدة لا يصادق بقية السلسلة.
تحقق من نجاح الإصلاح
يحفظ الطريق تفسير TLS والسمات والسلطة ومنع الكائن. اختبر الأصلين والخروج والانتهاء مستقلة، وتأكد من ألا يملأ رد هوية سابقة مخبأ الهوية التالية.
امنع تكرار المشكلة
- وثق البنية ومسؤولية المخزن بالإصدارات، وأبعد الرموز عن السجل وراجع جمهور المخبأ واحفظ العينات. تجنب الثقة العامة والأصل الشامل وتعطيل CSRF لأنها تمحو فروق التشخيص.