24. تمرين تطبيقي – الإصدار 13
لا تتضمن النسخة 13 سوى القليل من التغييرات: فهي تعمل على تأمين الوصول إلى ملفات التطبيق.
مع الإصدار 12، يمكن طلب الرابط التالي: URL [http://localhost/php7/scripts-web/impots/version-12/config.json]. وعندها تظهر الصفحة التالية (في Firefox):

إلا أن هذا الملف [config.json] يحتوي على معلومات حساسة مثل معرّفات المستخدمين المصرح لهم باستخدام التطبيق. ولا يجب أن يكون متاحًا للمستخدمين. وينطبق الأمر نفسه على جميع ملفات التطبيق باستثناء ملفات [main.php, index.php, Views/logo.jpg] التي يجب أن تكون متاحة من الخارج. ففي الواقع، تحتاج طرق العرض إلى الوصول إلى شعار التطبيق (HTTP). وتقدم الإصدار 13 حلاً بسيطًا لهذه المشكلة.
في NetBeans، نقوم بنسخ المجلد [version-12] ولصقه في [version-13]:

- في [1]، في المجلد الجذر للتطبيق، نحتفظ فقط بالنصوص البرمجية [index.php, main.php]؛
- في [2]، يتم وضع ملفات التكوين في مجلد [Config]؛
- في [3]، يتم وضع الصورة [logo.jpg] في مجلد [Resources]؛
الخادم HTTP المستخدم هنا هو خادم Apache. ويتيح هذا الخادم التحكم في الوصول إلى مجلد ما عبر ملف [.htaccess]. في جميع المجلدات التي نريد منع الوصول المباشر إليها عبر URL، نقوم بإنشاء الملف [.htaccess] التالي:

هذان السطران يؤديان إلى حظر الوصول إلى المجلد على الجميع.
نضع هذا الملف في جميع مجلدات التطبيق باستثناء المجلد الجذر ومجلد [Resources]. وفي النهاية، لا يمكن الوصول من الخارج إلا إلى ثلاثة ملفات فقط: [index.php, main.php, Resources/logo.jpg].
دعونا نجري بعض الاختبارات:





يجب إجراء بعض التعديلات على الكود:
في الملف [Config/config.json]:

في الملف [main.php]:

في الملف [Views/v-bandeau.php]:
