وتخزين متغيرات التكوين في ملف XML على موقع PHP تحت جذر الموقع مخاطرة كبيرة جدا؟

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

  •  03-07-2019
  •  | 
  •  

سؤال

ولقد لاحظت أن مخازن الماجنتو الخلية تفاصيل الاتصال في ملف XML التي لم يتم تأمين فوق docroot. ويبدو أن هذا .... خطير أيضا.

يبدو

وXML مثل طريقة سهلة لتخزين البيانات التكوين، باستثناء شيء واحد، وكتابة في <لأ href = "http://www.domain.com.au/library/config.xml" يختلط = "نوفولو noreferrer" > http://www.domain.com.au/library/config.xml سوف تظهر للعالم تفاصيل خاصة بك!

وذهبت إلى الأمام ويستخدم ملف XML وأضاف هذا إلى ملفي هتكس.

<Files ~ "\.xml$"> // regex files that end with xml extension
Order allow,deny 
Deny from all // don't show them
</Files>

والآن أنا <م> كان سعيدة مع هذا، وأنا الآن لست متأكدا جدا. ماذا لو تم حذف ملف .htaccess عن طريق الخطأ / تالف (يحدث ذلك بالإضافة إلى خطأ بشري) وماذا لو يوم واحد أريد أن وضع التطبيق على الخادم غير اباتشي ... لا كل خادم لديها ما يعادل لمنع ملفات XML، و إذا فعلوا ذلك، فإنها يمكن أن يكون تغيير على مستوى المجلد مثل هتكس يمكن (وليس مجرد ملف httpd.conf).

وسؤالي هو ... لا راحة XML (من السهل لتحديث والمصممين الذين يحتاجون لن يشعر بالخوف حتى للعب) تفوق المشاكل المحتملة (تعريض البيانات الخاصة)؟

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

المحلول

ويهمني شخصيا فقط مخزن المعلومات ملف التكوين في شكل الذي ليس في شكل يمكن الوصول إليها مباشرة أو الموقع. لذلك كنت إما استخدام تنسيق XML فوق docroot أو استخدام التكوين PHP $ [ 'VARNAME'] = شكل "القيمة". ان طريقة لاحق فقط تجعل صفحة بيضاء فارغة إذا دعت مباشرة (طالما انها كل PHP و HTML لا تحتوي على ولا صدى الخروج).

معرض، الساعة، وجملة كل استخدام الطريقة الثانية التي ذكرتها. وأنا أعلم أنني قد ذكرت تلك المشاريع من قبل في غيرها من المسائل ذات الصلة PHP، ولكن يبدو أن الأسلوب الذي يتم استخدامه على نطاق واسع ومقبولة بين المشاريع.

نصائح أخرى

والجواب باختصار، لا أنها ليست كذلك. ولكن السؤال الأفضل هو. إذا لم يتم تخزينها في ملف التكوين حيث كنت يبقيه؟

وأنا أتفق تماما مع inventix على هذا ولكن أيضا تقديم خيار 3RD التي ينبغي أن يقترن إما

واسم الملف تخزين معلومات التكوين

و.htanything.whatever

وكخادم واسعة جميع الملفات التي تبدأ .ht هي غير قابلة للقراءة من قبل المستخدمين الخارجيين {هذا هو السبب في هتكس هتكس دائما}

وpersonaly أنا فقط تخزين ملفات التكوين تتضمن وظيفة libraryies خارج جذر المستند، ولكن أفهم أن بعض connot هكذا دائما تستخدم اصطلاح .htnaming عليها أيضا طارئ ل$ includesfolder لابد من تحرك داخل المستند شجرة من قبل شخص باستخدام البرنامج على هذا الخادم

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