أذونات الملف على المضيفين المشتركين
-
08-07-2019 - |
سؤال
لقد كتبت نصًا يأخذ ملخص الطلب ويخزنه في ملف XML، باستثناء أن المشكلة تكمن في أنني لا أريد أن يتمكن الأشخاص من فتح ملف XML في متصفحهم، بالطبع.
لقد تمت استضافتي على خادم مشترك مخادع للغاية وبقدرات محدودة:لا يوجد SSH، بالنسبة للمبتدئين.
هل هناك مكان يمكنني وضع هذا الملف فيه بحيث يظل PHP قادرًا على القراءة/الكتابة إليه، لكن متصفحات الويب لن تتمكن من الوصول إليه؟
عادةً، أقوم بإنشاء مجلد خارج جذر المستند وأضعه هناك، ولكنني أتلقى رسالة "تم رفض الإذن" عندما أحاول ذلك.
المجلدات التي نكون هناك:
- anon_ftp
- سلة مهملات
- سيرت
- cgi-bin
- أسيوط
- error_docs
- إلخ
- httpdocs
- httpsdocs
- pd
- خاص
- إحصائيات
- النطاقات الفرعية
- web_users
لا يمكن لـ PHP الوصول إلى الملف عندما يكون في ملف private
مجلد.هل سيكون هذا ممكنًا باستخدام .htaccess؟
المحلول 2
لقد تعاملت مع هذه المشكلة عن طريق وضع ملف XML في مجلد httpdocs الخاص بي، لكنني أضفت ملف htaccess يحتوي على هذا:
<Files ~ "myfile.xml">
Order allow,deny
Deny from all
</Files>
نصائح أخرى
يمكنك إنشاء دليل يحتوي على ملف .htaccess
الملف الذي يبدو كالتالي:
Deny from all
سيؤدي هذا إلى توجيه Apache بعدم خدمة الملفات من هذا الدليل؛أي محاولات للوصول إلى الدليل أو محتوياته ستقابل باستجابة "403 محظور" من الخادم.
ملحوظة: هذا يعتمد على عدم إزالة المضيف Limit
من قائمة الخيارات الموجودة بهم AllowOverride
التوجيه؛لا ينبغي أن يكون لدى معظم المضيفين المشتركين سبب للقيام بذلك.
ألا يمكنك أن تطلب من موفر الاستضافة المشتركة إنشاء مجلد جذر خارجي للويب؟ لك؟لقد فعلت هذا بالتأكيد في الماضي.