php fopen لا يفتح الملف، ولا يتم منح إذن القراءة للعالم/الجمهور؟

StackOverflow https://stackoverflow.com/questions/678751

  •  21-08-2019
  •  | 
  •  

سؤال

يفشل php fopen في فتح ملف للقراءة، إذا كان إذن الملف هو 440.لا أريد منح إذن 444 للملف، بحيث لا يمكن الوصول إليه مباشرة من خلال عنوان URL.

هل كانت مفيدة؟

المحلول

يمكنك أن تفعل كما tj111 يقترح حظره باستخدام .htaccess.

ولكن الفكرة الأفضل هي وضعها خارج جذر www.

على سبيل المثال، إذا كانت ملفات PHP الخاصة بك موجودة في /بيت/مستخدم/public_html/, ، ضع ملفاتك ذات الوصول المحدود على سبيل المثال.في/بيت/مستخدم/يشمل منحهم 644 (rw-r--r--).يمكنك قصر أذونات الدليل على 711 (rwx--x--x)، لذلك لا أحد غيرك يمكنه رؤية الملفات الموجودة.لكن هذا لا يمنعك من قراءة هذه الملفات أو تضمينها باستخدام PHP.

نصائح أخرى

وعلى افتراض انك تستخدم أباتشي مع PHP، وأسهل طريقة لحل هذه المسألة هي لتقييد الوصول إلى الملفات باستخدام أباتشي ولكن السماح بالوصول قراءة العالمي. طريقة للقيام بذلك هو الحفاظ على كل الملفات التي تريد محظورة في الدليل الخاصة بهم، وفي ملف .htaccess وضع هذا:

Order Allow , Deny
Deny from all

والآن هل يمكن أن يكون أذونات القراءة العالمية، ولكن إذا كنت في محاولة للوصول إلى الملف مباشرة من شبكة الإنترنت سوف تحصل على الخطأ تم رفض الإذن.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top