Bài 20: PHP trang tin tức - Cấu trúc folder client

Ngày đăng: 2023-01-10 14:26:02

       Xin chào tất cả các bạn, chào mừng các bạn đã quay trở lại với series hướng dẫn xây dựng trang tin tức PHP. Đây là bài đầu tiên trong phần client của ứng dụng. Trong bài này, chúng ta sẽ cùng tìm hiểu và xây dựng cấu trúc folder cho phía client. 

Mục lục:

           1. Xây dựng folder clienk

           2. Lưu ý

           3. Lời kết

1. Xây dựng folder client

Cấu trúc folder của phần này cũng gần tương tự như bên phía admin. Mình sẽ lấy một số thư viện trong phần admin:

  • Thư viện Bootstrap (admin/bootstrap).
  • Thư viện jQuery (admin/js/jquery.min.js).
  • Thư viện PHP (admin/classes).

Đây là sơ đồ cấu trúc folder client của ứng dụng này:

Dưới đây mình sẽ giải thích các folder và file mới vừa khởi tạo:

  • Folder core: là folder trung tâm của client, giúp trao đổi dữ liệu với database
  • Folder includes: nó sẽ chứa 2 file để include với các trang giao diện
    • File includes/header.php: là file chứa nội dung đầu tiên của mỗi trang giao diện như title, các thẻ meta, menu, kết nối với các thư viện CSS, font...
    • File includes/footer.php: là file chứa nội dung cuối cùng của mỗi trang giao diện như các popup thông báo, kết nối các thư viện JS...
  • Folder js: sẽ chứa các file JS
  • Folder templates: folder này sẽ chứa các file giao diện
    • File templates/404.php: là trang giao diện hiển thị lỗi 404 (không tìm thấy trang)
    • File templates/categories.php: là trang sẽ show các bài viết theo chuyên mục chỉ định trên url
    • File templates/posts.php: là trang show bài viết theo url chỉ định
    • File templates/content.php: trang này sẽ dựa vào tham số trên url để hiển thị các trang giao diện
    • File templates/members.php: là trang sẽ show danh sách các thành viên tham gia viết bài trên trang tin tức (bao gồm admin và tác giả)
    • File templates/shutdown.php: là trang sẽ thông báo khi ứng dụng này ở trạng thái ngừng hoạt động (trong phần cài đặt admin)
  • File search.php: file này dùng để tìm kiếm bài viết, chuyên mục

2. Lưu ý

Như các bạn đã thấy ở trên, phần client mình sử dụng các thư viện trong phần admin luôn để nhanh chóng và giảm dung lượng cho source code series. Nhưng nếu trên thực tế làm như vậy sẽ vô cùng nguy hiểm cho website của bạn đấy!

Tin tặc sẽ lợi dụng chức năng view source page của browser để xem code của trang web mình, sau đó tin tặc tìm kiếm những đường dẫn liên kết tới các file CSS, JS để mong cơ hội nào đó tìm được folder admin. Và tất nhiên nếu chúng ta làm như cách trên thì đã bị lộ folder admin cho chúng rồi.

Vậy, mình sẽ đưa ra hai giải pháp cho các bạn nếu muốn làm ứng dụng trên thực tế:

  • Copy các thư viện muốn include từ folder admin và ngoài cùng cấp với file index.php của client
  • Cắt các thư viện sử dụng chung cho cả 2 phần admin và client, và dán cùng cấp với file index.php của client, sau đó vào folder admin chỉnh lại các đường dẫn include thư viện

3. Lời kết

          Các bạn đã có thể nắm rõ được công dụng của từng folder, từng file để sang các bài tiếp theo, chúng ta sẽ code cho chúng. Qua bài sau, chúng ta sẽ connect database và rewrite url client cho ứng dụng này. Nếu có thắc mắc các bạn cứ comment bên dưới mình sẽ hỗ trợ các bạn. Cảm ơn các bạn đã theo dõi, chúc các bạn thành công!


Code games & Web Làm web tin tức căn bản bằng PHP

Bài viết trong cùng chuyên mục

Góc games giải trí



Cờ caro


Butterfly


Lật hình (luyện trí nhớ)

Cờ tướng ONLINE

Xếp hình

Ghép hình

15_PUZZLE

Kill ghosts

Banchim

Planet Defense

Tower game

Tower game

Plapy Bird (NH.Đông)

Vượt chướng ngại vật



0379136392

Thông tin liên hệ: Lê Văn Thuyên - ĐT: 0379136392 ; Gmail: lethuyen0379136392@gmail.com

Comment

 +   Lê Văn Thuyên-0379136392:Cảm ơn quý vị và các bạn đã vào Website của Lê Thuyên! Lê thuyên rất mong nhận được sự góp ý của quý vị và các bạn cho sự phát triển của website này. Xin chân thành cảm ơn!

Trả lời

 *   Dũng Trung-090567448:Lê Văn Thuyên0379136392--->Ok.Anh!

Trả lời

 *   Bé Nguyễn-benguyen@gmail,com:Lê Văn Thuyên0379136392--->Good job!

Trả lời

 +   -:

Trả lời

 +   -:

Trả lời

12009