Skip to content

24. تمرین عملی – نسخهٔ ۱۳

نسخهٔ ۱۳ تغییرات اندکی را معرفی می‌کند: دسترسی به فایل‌های برنامه را ایمن می‌سازد.

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

Image

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

در NetBeans، پوشه [version-12] را کپی و در [version-13] می‌چسبانیم:

Image

  • در [1]، در پوشه ریشه برنامه، ما فقط اسکریپت‌های [index.php, main.php] را باقی می‌گذاریم؛
  • در [2]، فایل‌های پیکربندی در پوشه‌ای به نام [Config] قرار می‌گیرند؛
  • در [3]، تصویر [logo.jpg] در پوشه‌ای به نام [Resources] قرار می‌گیرد؛

سرور HTTP مورد استفاده در اینجا یک سرور آپاچی است. این امکان را می‌دهد که دسترسی به یک پوشه از طریق یک فایل [.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