هل يمكنني استخدام كتاب PHP's Fwrite مع 644 أذونات ملف؟
-
03-10-2019 - |
سؤال
أحاول إعداد تحديث .htaccess الآلي. من الواضح أن هذا يجب أن يكون آمنًا قدر الإمكان ، ولكن في الوقت الحالي ، أفضل ما يمكنني القيام به من خلال إذن الملف هو 666.
ما الذي يمكنني فعله لإعداد خادم أو رمز PHP بحيث يكون البرنامج النصي الخاص بي fwrite()
سيعمل الأمر مع 644 أم أفضل؟ على سبيل المثال ، هل هناك طريقة لتعيين السيناريو الخاص بي لتشغيله كمالك؟
تعديل:
أدركت أنني في الواقع قد واجهت مشكلة أذونات ، يجب أن تكون قادرًا على استخدامها fwrite
لا مشكلة مع 644 أذونات. انظر إجابتي أدناه.
المحلول 3
كانت هذه الاقتراحات رائعة ، لكنني أدركت في النهاية أن الإجابة على سؤالي هي نعم - ولا يجب عليك فعل أي شيء على الإطلاق ... طالما أن المستخدم الخاص بالملف/الدليل الذي تحاول الكتابة إليه هو نفس المستخدم الذي يعمل عليه البرنامج النصي. كان خطأي هو أنني كنت قد حصلت على ملكية ملف من Whack بطريق الخطأ ، وبالتالي ، احتاجت أذونات أعلى 666 و 777 من أجل الكتابة إلى ملفاتي. وهو أمر منطقي لأن WordPress يمكنه الكتابة إلى .htaccess مع الأذونات القياسية.
الآن لدي إعداد الأشياء حيث يعمل ملف AS user1
يكتب إلى ملف يملكه user1:user1
, ولا مشاكل على الإطلاق. تم تعيين الدلائل إلى 755 ، .htaccess
تم تعيين ملف إلى 644.
نصائح أخرى
ال apache
يجب أن تعمل العملية دائمًا apache:apache
- إذا كان يجب عليك تمكين أذونات الكتابة في أدلة قابلة للتنفيذ (IE DocumentRoot) ، قم بإنشاء مجموعة ، وإضافة أذونات Apache ومجموعة المجموعة (SO 664
).
من الأفضل أن يكون لديك .htaccess
تم تحديثه بواسطة برنامج CRINT CRIPT لقراءة بيانات التكوين من قاعدة بيانات ، حيث أن إعطاء أذونات Apache للكتابة إلى الدلائل القابلة للتنفيذ مبهمة في حالة تتيح الثغرة الأمنية في الكود الخاص بك للمستخدم الضار أن تكتب ملفات جديدة إلى تلك الدلائل.
لا يمكنك تغيير مالك العملية. إذا كنت على خادم مشترك ، فتعرف على ما إذا كان لديهم suphp كخيار.