كيفية استخدام منشئ ترويسات HTTP
- حدّد الإعدادات المسبقة المناسبة لموردك (مثلاً «الإعدادات الافتراضية الآمنة» مع «الأصول الثابتة غير القابلة للتغيير»).
- أضف ترويسات فردية أو تجاوز قيمها في القائمة المخصّصة.
- اختر صيغة التصدير المناسبة لخادمك أو عميلك، ونمط المسار في حالة Cloudflare.
- انسخ كتلة الإعدادات إلى ملف إعداد الخادم أو مستودع النشر.
مزايا منشئ ترويسات HTTP
- عشرة إعدادات مسبقة: الإعدادات الافتراضية الآمنة، وCSP صارمة بقيمة nonce، وعدم التخزين المؤقت، والأصول الثابتة غير القابلة للتغيير، وإعادة التحقق من HTML، وCORS عامة، وCORS مع بيانات الاعتماد، وواجهة JSON API، وتنزيل الملفات، وترويسات تحديد المعدل
- ترويسات مخصّصة مع التحقق من الأسماء وفق RFC 9110 والحماية من حقن الترويسات
- قواعد دمج حتمية: القيم اللاحقة تتجاوز السابقة، وقوائم Vary تُدمج، ويجوز تكرار Set-Cookie وLink
- التصدير كترويسات خام أو علامات cURL -H أو Nginx add_header أو Apache mod_headers أو ملف _headers لـ Cloudflare/Netlify أو JSON أو fetch أو axios
- شروحات لكل ترويسة في المجموعة الناتجة مع تحذيرات عند وجود تركيبات متناقضة
- معاينة حية أثناء تبديل الإعدادات المسبقة
مثال على منشئ ترويسات HTTP
إعداد Nginx لواجهة JSON API مع CORS ببيانات الاعتماد
الإدخال:
Presets: JSON API response, CORS: allow-listed origin with credentials · Export: Nginxالنتيجة:
add_header Content-Type "application/json; charset=utf-8" always;
add_header Cache-Control "no-store" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Access-Control-Allow-Origin "https://app.example.com" always;
add_header Access-Control-Allow-Credentials "true" always;
…
add_header Vary "Origin" always;الأسئلة الشائعة حول منشئ ترويسات HTTP
ما ترويسات الأمان التي ينبغي لكل موقع إرسالها؟
يغطي الإعداد المسبق «الإعدادات الافتراضية الآمنة» الحد الأدنى الذي توصي به OWASP: Strict-Transport-Security، وX-Content-Type-Options: nosniff، وX-Frame-Options (أو CSP frame-ancestors)، وReferrer-Policy، وPermissions-Policy، وترويسات العزل Cross-Origin-*. أضف إليها Content-Security-Policy مصمّمة خصيصاً لتطبيقك.
كيف أصدّر الترويسات لخادم الويب الخاص بي؟
اختر Nginx (add_header … always;) أو Apache (Header always set …) أو Cloudflare Pages / Netlify (ملف _headers مع مسار). وينتج تصدير cURL علامات -H للاختبار السريع.
ماذا يحدث إذا حملت ترويسة مخصّصة اسم ترويسة من إعداد مسبق؟
تفوز الترويسات المخصّصة. ويجوز تكرار Set-Cookie وLink؛ أما قيم Vary فتُدمج في قائمة واحدة مفصولة بفواصل.
ما المقصود بـ {NONCE} في الإعداد المسبق لـ CSP الصارمة؟
عنصر نائب لقيمة عشوائية تُولَّد لكل استجابة. ولّد ما لا يقل عن 128 بت من العشوائية، ورمّزها بـ base64، وضعها في الترويسة وفي كل وسم <script nonce="…">.
ملاحظات تقنية
تُخرَج قيم الترويسات حرفياً؛ ولا يُهرَّب سوى علامات الاقتباس المزدوجة في حالتي Nginx وApache. وتذكّر أن توجيهات add_header في كتلة location متداخلة في Nginx تستبدل التوجيهات الموروثة من كتلة server بدلاً من إضافتها إليها.