الأمان

مستخدم التشغيل

يوصى بتعيين مستخدم التشغيل كمستخدم ذو صلاحيات منخفضة، مثلاً متوافق مع مستخدم تشغيل nginx. يمكن ضبط مستخدم التشغيل في config/server.php تحت user و group.
يتم تعيين مستخدم العمليات المخصصة المماثلة من خلال user و group في config/process.php.
يرجى ملاحظة أنه يجب عدم تعيين مستخدم التشغيل لعملية المراقبة (monitor) لأنها تحتاج إلى صلاحيات عالية للعمل بشكل صحيح.

معايير المتحكم

يمكن وضع ملفات المتحكم فقط في مجلد controller أو المجلدات الفرعية له، ويحظر وضع أي ملفات فئة أخرى. خلاف ذلك، في حالة عدم تفعيل لاحقة المتحكم، قد يتم الوصول بشكل غير قانوني إلى ملفات الفئات عبر URL، مما يتسبب في عواقب غير متوقعة.
على سبيل المثال، app/controller/model/User.php هي في الواقع فئة Model، لكنها وضعت خطأً في مجلد controller. عند عدم تفعيل لاحقة المتحكم، سيؤدي ذلك إلى إمكانية وصول المستخدمين إلى أي وظيفة في User.php عبر عنوان مشابه لـ /model/user/xxx.
لمنع حدوث مثل هذه الحالة تماماً، يوصى بشدة باستخدام لاحقة المتحكم لوضع علامات واضحة على الملفات التي هي ملفات متحكم.

تصفية XSS

نظرًا لاعتبارات شمولية، لا يقوم webman بعمل تحويل XSS على الطلبات.
يُوصى بشدة بعمل تحويل XSS أثناء عملية التقديم، بدلاً من القيام بذلك قبل التخزين.
كما أن قوالب مثل twig و blade و think-template ستقوم تلقائيًا بأداء تحويل XSS، مما يجعل من غير الضروري إجراء تحويل يدوي، مما يسهل الأمر كثيرًا.

تلميح
إذا قمت بإجراء تحويل XSS قبل التخزين، فقد يتسبب ذلك في مشكلات عدم توافق مع بعض مكونات التطبيق.

منع حقن SQL

لمنع حقن SQL، يُفضل استخدام ORM مثل illuminate/database و think-orm. كما يُفضل عدم تجميع SQL بنفسك قدر الإمكان.

وكيل nginx

عندما يحتاج تطبيقك إلى أن يكون متاحًا لمستخدمي الإنترنت، يُوصى بشدة بإضافة وكيل nginx أمام webman، حيث يمكن ذلك من تصفية بعض طلبات HTTP غير القانونية، مما يزيد من مستوى الأمان. لمزيد من التفاصيل، يرجى الرجوع إلى وكيل nginx.