دليل الأمان
تم بناء PulseHub مع اعتبار الأمان مصدر قلق أساسي.
المصادقة
- كلمات المرور: bcrypt بعامل تكلفة 12 — لا تُخزن أبدًا كنص عادي
- الجلسات:
HttpOnly،SameSite=Strict،use_strict_mode، يتم تجديدها عند تسجيل الدخول - مقارنة في وقت ثابت عبر
password_verify()وhash_equals()
منع ح قن SQL
تستخدم جميع الاستعلامات عبارات PDO المُعدة مع EMULATE_PREPARES = false. لا يمكن أبدًا تفسير مدخلات المستخدم كصياغة SQL.
منع XSS
يتم تهريب جميع المخرجات الديناميكية باستخدام e() → htmlspecialchars(ENT_QUOTES | ENT_HTML5, 'UTF-8').
حماية CSRF
ملفات تعريف الارتباط SameSite=Strict تمنع الطلبات عبر المواقع. نماذج تسجيل الدخول والمُثبّت تتضمن حقل _token مخفي.
التحقق من توقيع Webhook
- WhatsApp، Facebook، Instagram: HMAC-SHA256 مع App Secret
- Viber: HMAC-SHA256 مع Auth Token
- الكل يستخدم
hash_equals()(وقت ثابت)
ضوابط الوصول إلى المجلدات
المجلدات الحساسة (config/، app/، data/) محظورة من الوصول عبر الويب من خلال .htaccess وتكوين nginx.
رؤوس الأمان الموصى بها
<IfModule mod_headers.c>
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set X-XSS-Protection "1; mode=block"
Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>
الحفاظ على أمان PulseHub
- حافظ على تحديث PHP وMySQL
- استخدم HTTPS في كل مكان
- قم بتدوير مفاتيح API بشكل دوري
- راقب سجلات cron
- قم بعمل نسخ احتياطية منتظمة لقاعدة البيانات ومجلد
config/