Skip to content

24. تمرين تطبيقي – الإصدار 13

لا تتضمن النسخة 13 سوى القليل من التغييرات: فهي تعمل على تأمين الوصول إلى ملفات التطبيق.

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

Image

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

في NetBeans، نقوم بنسخ المجلد [version-12] ولصقه في [version-13]:

Image

  • في [1]، في المجلد الجذر للتطبيق، نحتفظ فقط بالنصوص البرمجية [index.php, main.php]؛
  • في [2]، يتم وضع ملفات التكوين في مجلد [Config]؛
  • في [3]، يتم وضع الصورة [logo.jpg] في مجلد [Resources]؛

الخادم HTTP المستخدم هنا هو خادم Apache. ويتيح هذا الخادم التحكم في الوصول إلى مجلد ما عبر ملف [.htaccess]. في جميع المجلدات التي نريد منع الوصول المباشر إليها عبر URL، نقوم بإنشاء الملف [.htaccess] التالي:

Image

هذان السطران يؤديان إلى حظر الوصول إلى المجلد على الجميع.

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

دعونا نجري بعض الاختبارات:

Image

Image

Image

Image

Image

يجب إجراء بعض التعديلات على الكود:

في الملف [Config/config.json]:

Image

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

Image

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

Image