الغالين ...
كيف حالكم ؟ عل حالكم تمام ؟
خطا 403 ( لاتملك الصلاحية ) يحتمل :
1) عدم صحة التصريح .
2) عدم صحة مالك الملف او المجلد .
3) رد فعل من سيرفر الاباتشى لسبب ما ، اغلبها " المود سكيرتي " .
طبعا في الحالات اعلاه ، بعد تشييك موظفينا وتاكيدهم ان التصاريح تعمل ، قمت بالتشييك ووجدت ان الخطا من المود سكيرتي في رفض العملية ، والسبب ان المود سكيرتي اداة تضع لها قوانين معينه وبناء على تلك القوانين يتم فلترة كل طلب من الاباتشى ، ونتيجه للاعداد الخاطي في بعض الاحيان او الفولس بسيتف يتم رفض بعض العمليات التي لاضرر منها ، كما في حالتكم الدخول الى انفنتي .
.. اذن ، الحل لابد ان يكون من قبل صاحب السيرفر مباشرة .. والحل لاياخذ وقت كثير ، وهو فقط معرفة القانون المسبب للمشكلة وبعدها حذفه او تعديله بحيث يعمل بشكل سليم ..
كود PHP:
cat /usr/local/apache/logs/error_log | grep mod_security | grep "Access denied" | grep "setting.php" | cut -d" " -f18,24 | uniq -c | sort
الامر اعلاه سيظهر لصاحب السيرفر مباشرة القانون المسبب للمشكلة + اسم الموقع الذي تحدث فيه المشكلة وعندها يستطيع بعد معرفة الامر الغائه او تعديله . لمزيد من التفاصيل ، يمكن صاحب السيرفر مراجعة ملف اللوج الخاص بالمود سكيرتي .. audit_log .
حل اخر ايضا في حالة رفض المستضيف تعديل القانون ، ان يقوم بتعديل ملف ال httpd.conf في الفارتشيال هوست الخاص بالموقع يقوم بتعطيل المود سكيرتي على المجلد اعلاه فقط ..
كود PHP:
<Directory "/home/USER/public_html/inf/cp">
<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>
</Directory>
وان كانت المشكلة عامه على كل من في السيرفر ، باضافة التالي في httpd.conf ستحل المشكلة لدى الجميع :
كود PHP:
<DirectoryMatch "/home/[a-zA-Z0-9]/public_html/inf/cp">
<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>
</Directory>
كود PHP:
<DirectoryMatch "/home/[a-zA-Z0-9]/public_html/cp">
<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>
</Directory>
او ايضا تغيير الاكشن الخاص بالقانون من الدفلت اكشن الى pass,log ( يعني تمرير الطلب ولكن حفظه في اللوج ) .
اتمنى ان تنحل المشكلة في اسرع وقت ، واتمنى ان يكون ردي اعلاه مفيد في حل المشكلة ..
علي حمد ،
ابعاد المعلومات ،