Không quét khi chưa có sự đồng ý

Hướng dẫn chi tiết

Cửa này kiểm tra web app đã triển khai của bạn dựa trên sự đồng ý. Dưới đây là từng bước, từ yêu cầu đến biên nhận.

HƯỚNG DẪN · Mục lục

1. Yêu cầu kiểm tra

Nhập tên miền của web app và email nhận kết quả, rồi nhấn “Yêu cầu kiểm tra”. Một token duy nhất gắn với yêu cầu đó được cấp. Lúc này chưa quét gì cả.

2. Chứng minh quyền kiểm soát (bước then chốt)

Đặt token đã cấp lên tên miền để chứng minh quyền sở hữu. Chọn một trong hai cách. Việc đặt được nó ở đó chính là bằng chứng.

A

Cách A · Tệp

Sao chép token bằng nút “Sao chép” trên màn hình.

Tạo tệp /.well-known/star365-audit-consent.txt tại gốc tên miền, nội dung chỉ gồm token.

Khi mở URL đó trong trình duyệt và thấy token nguyên vẹn là bạn đã sẵn sàng.

B

Cách B · DNS TXT

Ở tab DNS, sao chép dòng bản ghi bằng nút “Sao chép”.

Thêm dưới dạng bản ghi TXT trong DNS: tên star365-audit-consent, giá trị = token.

Lan truyền DNS có thể mất vài phút đến vài chục phút. Xác minh sau khi có hiệu lực.

C

Cách C · thẻ meta

Dùng cách này nếu hosting tĩnh không phục vụ được đường dẫn tệp, hoặc site trả 200 cho mọi địa chỉ (soft-404). Sao chép thẻ ở tab meta và đặt vào trong <head> của HTML trang chủ.

Thẻ phải có trong HTML do máy chủ trả về — chúng tôi không thấy thẻ do JS chèn sau. Thẻ nằm ngoài <head> (trong phần thân) không được tính: ở site hiển thị nguyên HTML bài đăng, người khác có thể cài thẻ để giả mạo đồng ý.

Hai dòng tùy chọn — ghi cùng trong tệp đồng ý (hoặc giá trị TXT / meta). contact=you@example.com: cần để nhận email biên nhận ở địa chỉ ngoài tên miền (Gmail…); nếu nhập email khi yêu cầu thì đã được điền sẵn. badge=on: công khai huy hiệu kiểm tra (mặc định tắt).
🔴 Chúng tôi xác minh lại sự đồng ý ngay trước khi quét. Nếu bạn xóa token (rút lại) trong lúc đó, chúng tôi sẽ không kiểm tra.

3. Xác minh xong, kiểm tra bắt đầu chạy

Nhấn “Xác minh sự đồng ý” và máy chủ đọc vị trí token để xác minh. Khi đã xác minh, chỉ tên miền đó vào danh sách cho phép và hàng đợi kiểm tra. Kiểm tra bên ngoài chỉ dùng yêu cầu GET chỉ đọc — không tiêm mã, dò mật khẩu hay quá tải. Chỉ có một ngoại lệ: nếu gói mã được kiểm tra có địa chỉ dự án Supabase (*.supabase.co) và khóa anon, chúng tôi gửi GET chỉ-đọc tới đúng máy chủ dự án đó để xem RLS đã bật chưa. Chỉ các tên bảng mà gói mã đã gọi, mỗi bảng 1 hàng, và không đọc hay lưu giá trị của hàng.

4. Đọc biên nhận

Khi kiểm tra xong bạn nhận biên nhận qua email. Kết quả mỗi mục là một trong ba giá trị (mục thất bại kèm mức độ), lưu trong chuỗi băm chống giả mạo:

đạt Đạt — không tìm thấy vấn đề ở mục đó.
thất bại Thất bại — phát hiện vấn đề, kèm mức độ: cảnh báo (nên sửa, vd: thiếu header bảo mật) hoặc nguy hiểm (xử lý ngay, vd: khóa lộ, thông tin kết nối DB bị lộ).
chưa xác định Chưa xác định — thứ chúng tôi không đọc được. Không ngụy trang thành đạt; ghi đúng như vậy.

Chúng tôi kiểm tra gì

Kiểm tra bên ngoài (chỉ cần đồng ý)

20 mục quan sát được từ bên ngoài bằng GET: khả năng truy cập · bí mật nằm trong bundle trình duyệt · đường dẫn nhạy cảm bị mở (27 loại: .env, .git, …) · header bảo mật. Và những thứ chỉ lộ ra khi mở bằng trình duyệt thật — lỗi JS trong console, tài nguyên của chính bạn trả về 4xx/5xx, trang HTTPS gọi tài nguyên http:// (mixed content), có bị phát hành thành màn hình trắng không, tràn ngang ở 390px trên di động, và liên kết nội bộ đã chết. Trình duyệt chỉ gửi GET — dù trang của bạn bắn POST, nó cũng không đi ra qua chúng tôi. Thứ không thấy được từ bên ngoài, chúng tôi để là «chưa xác định». Với ứng dụng dùng Supabase, chúng tôi cũng kiểm tra RLS (khi gói mã có khóa anon).

Kiểm tra nội bộ · SSH (yêu cầu riêng)

Chỉ khi có yêu cầu rõ ràng và được cấp quyền: quyền tệp, lộ DB và tường lửa, quyền tiến trình, lỗ hổng thư viện. Bí mật tìm thấy chỉ giữ vân tay — không lưu bản gốc.

An toàn & riêng tư

Chúng tôi chỉ kiểm tra tên miền đã chứng minh đồng ý. Kết quả chỉ gửi cho bạn và không bao giờ công bố. Chúng tôi không nhận tiền hay phương thức thanh toán; đóng góp đi thẳng vào ví.

Huy hiệu kiểm tra (tùy chọn)

Khi kiểm tra xong, bạn có thể gắn huy hiệu “star365 đã kiểm tra” lên site. Huy hiệu chỉ hiện khi bạn bật — thêm một dòng badge=on cạnh token trong tệp đồng ý (hoặc bản ghi TXT). Nếu chưa bật, địa chỉ huy hiệu trả 404 và thậm chí không lộ ra việc bạn đã được kiểm tra. Chỉ tên miền có biên nhận thật mới có huy hiệu (không thể giả mạo), và số mục thất bại không bao giờ công khai. Chỉ cần thay tên miền trong đoạn mã dưới đây bằng của bạn:

<a href="https://audit.star365.site/?ref=badge"><img src="https://audit.star365.site/badge/YOUR-DOMAIN.svg" alt="Security audited by star365"></a>

Kiểm tra mỗi lần triển khai (CI)

Chỉ cần người làm một lần: lệnh dưới đây in ra nội dung tệp đồng ý và khóa biên nhận. Tải nội dung tệp (kể cả dòng cuối standing=on) lên site và lưu NONCE, RECEIPT_KEY vào secret của CI.

curl -fsSLO https://audit.star365.site/ci/star365-audit.sh && bash star365-audit.sh request YOUR-DOMAIN you@example.com

Sau đó thêm một bước vào pipeline triển khai (ví dụ GitHub Actions — đặt action.yml và star365-audit.sh cùng trong repo; CI khác chạy bash star365-audit.sh rescan):

- uses: ./.github/actions/star365-audit   # action.yml + star365-audit.sh
  with:
    nonce: ${{ secrets.STAR365_NONCE }}
    receipt-key: ${{ secrets.STAR365_RECEIPT_KEY }}
    fail-on: crit

Mã thoát: 0 đạt · 1 thất bại (mặc định chỉ mức «nguy hiểm» là thất bại; fail-on: warn thì cả «cảnh báo») · 2 chưa xác định (hết thời gian chờ, không có đồng ý). Mỗi tên miền tối đa một lần mỗi giờ. Muốn dừng kiểm tra định kỳ, xóa dòng standing=on khỏi tệp đồng ý — yêu cầu tiếp theo sẽ bị từ chối.

Khắc phục sự cố

Báo “Không tìm thấy token”

Kiểm tra URL tệp chính xác (lỗi gõ, hoa/thường) và nội dung chỉ là token. Với DNS, chờ lan truyền xong rồi nhấn “Xác minh sự đồng ý” lại.

“Chưa xác định” có phải là thất bại?

Không. Nó nghĩa là chúng tôi không đọc được mục đó; thay vì ngụy trang thành đạt, chúng tôi nói thẳng. Nếu cần, có thể xử lý bằng vị trí mã nguồn hoặc kiểm tra nội bộ SSH.

Khi nào việc kiểm tra chạy?

Khi đồng ý được xác minh, nó vào hàng đợi tự động, chạy ngay sau đó, và biên nhận được gửi qua email khi xong.

Chi phí

Kiểm tra bên ngoài miễn phí. Kiểm tra nội bộ SSH và giám sát liên tục được sắp xếp sau khi trao đổi, tùy phạm vi. Nếu hữu ích, hoan nghênh đóng góp tự nguyện (phi giám hộ).

← Trang chủ / yêu cầu kiểm tra