# Góc lưu trữ — thư viện HTML cá nhân

## Cập nhật an toàn

**Trước khi đưa file học tập hoặc công việc lên mạng, hãy khóa địa chỉ Pages bằng Cloudflare Access.** Một dự án Pages mới có thể truy cập công khai cho tới khi bạn bật và kiểm tra Access. Chỉ triển khai dữ liệu cá nhân sau khi đã xác nhận cửa sổ riêng tư yêu cầu xác thực.

## Dùng Cloudflare Pages miễn phí

1. Đăng nhập Cloudflare, mở **Workers & Pages**, tạo ứng dụng **Pages** bằng **Direct Upload** và tải toàn bộ nội dung thư mục `thu-vien-html-ca-nhan` lên.
2. Sau lần triển khai đầu, vào phần cài đặt dự án Pages và bật Access policy.
3. Trong **Zero Trust → Access → Applications**, mở ứng dụng được Pages tạo cho `pages.dev`, sửa hostname production thành hostname chính xác của dự án (`ten-du-an.pages.dev`) bằng cách bỏ wildcard trong trường subdomain rồi lưu. Làm theo hướng dẫn Cloudflare để khóa URL production `pages.dev`.
4. Quay lại **Workers & Pages → dự án → Settings → General**, bật lại **Enable access policy** để giữ Access cho URL xem trước. Kiểm tra trong Access Applications có ứng dụng cho hostname production và ứng dụng cho URL preview. Thêm chính sách **Allow** chỉ cho email của bạn; không thêm quy tắc cho phép mọi người.
5. Mở URL production và URL trực tiếp của một file trong cửa sổ riêng tư chưa đăng nhập. Cả hai phải bị chặn. Đăng nhập bằng email được phép để xác nhận trang hoạt động. Chỉ sau đó mới đưa file riêng tư vào thư viện.
6. Khi cập nhật site, tải lại toàn bộ thư mục `thu-vien-html-ca-nhan` trong trang Deploys của dự án Pages. Giữ Access policy và kiểm tra lại sau khi cập nhật.

Tên menu Cloudflare có thể thay đổi. Hướng dẫn chính thức về Access trên `pages.dev`: https://developers.cloudflare.com/pages/platform/known-issues/#enable-access-on-your-pagesdev-domain

## Thêm file HTML

1. Chép file vào một trong hai thư mục:
   - `files/hoc-tap/`
   - `files/cong-viec/`
2. Mở `library.json`, thêm một mục theo cấu trúc sau và thay đường dẫn bằng tên file của bạn:

```json
[
  {
    "title": "Tên tài liệu",
    "description": "Mô tả ngắn để dễ tìm",
    "category": "hoc-tap",
    "path": "files/hoc-tap/ten-file.html"
  }
]
```

Giá trị `category` nhận `hoc-tap` hoặc `cong-viec`. Với nhiều mục, đặt dấu phẩy giữa hai khối `{ ... }`. Tên đường dẫn phân biệt chữ hoa và chữ thường khi triển khai.

## Giới hạn bảo mật

- Access kiểm soát ai có thể mở website; nó không mã hóa đầu cuối file lưu trên Cloudflare.
- Không lưu mật khẩu, khóa truy cập, thông tin định danh nhạy cảm hoặc tài liệu mật.
- Chỉ thêm file HTML đáng tin cậy. Mã JavaScript trong file sẽ chạy khi mở file.
- Không tải file riêng tư lên trước khi xác nhận Access đang chặn cả trang lẫn URL file trực tiếp.

