24. تمرین عملی – نسخهٔ ۱۳
نسخهٔ ۱۳ تغییرات اندکی را معرفی میکند: دسترسی به فایلهای برنامه را ایمن میسازد.
با نسخهٔ ۱۲، میتوانید URL زیر را درخواست کنید: [http://localhost/php7/scripts-web/impots/version-12/config.json]. سپس صفحهٔ زیر را (در فایرفاکس) مشاهده خواهید کرد:

با این حال، این فایل [config.json] حاوی اطلاعات حساسی مانند اعتبارنامههای کاربرانی است که برای استفاده از برنامه مجاز شدهاند. این فایل نباید برای کاربران قابل دسترسی باشد. همین امر در مورد تمام فایلهای برنامه نیز صدق میکند، به استثنای فایلهای [main.php, index.php, Views/logo.jpg] که باید از خارج قابل دسترسی باشند. این به این دلیل است که ویوها برای دسترسی به لوگوی برنامه از طریق HTTP نیاز دارند. نسخه ۱۳ راهحل سادهای برای این مشکل ارائه میدهد.
در NetBeans، پوشه [version-12] را کپی و در [version-13] میچسبانیم:

- در [1]، در پوشه ریشه برنامه، ما فقط اسکریپتهای [index.php, main.php] را باقی میگذاریم؛
- در [2]، فایلهای پیکربندی در پوشهای به نام [Config] قرار میگیرند؛
- در [3]، تصویر [logo.jpg] در پوشهای به نام [Resources] قرار میگیرد؛
سرور HTTP مورد استفاده در اینجا یک سرور آپاچی است. این امکان را میدهد که دسترسی به یک پوشه از طریق یک فایل [.htaccess] کنترل شود. در تمام پوشههایی که میخواهیم دسترسی مستقیم از طریق URL را مسدود کنیم، فایل زیر را ایجاد میکنیم: [.htaccess]:

این دو خط تضمین میکنند که دسترسی به پوشه برای همه رد شود.
این فایل را در تمام پوشههای برنامه به جز پوشهٔ ریشه و پوشهٔ [Resources] قرار میدهیم. در نهایت، تنها سه فایل از خارج قابل دسترسی هستند: [index.php, main.php, Resources/logo.jpg].
بیایید چند مورد را امتحان کنیم:





چند تغییر باید در کد اعمال شود:
در فایل [Config/config.json]:

در فایل [main.php]:

در فایل [Views/v-bandeau.php]:
