Bối cảnh
Tôi có một bộ sưu tập các trang HTML tĩnh (~10 nghìn trang) được tạo bởi một số ứng dụng mà tôi không có quyền kiểm soát. Các trang này được phục vụ bởi NginX từ một địa điểm
chặn.
Các trang có thể chứa dữ liệu nhạy cảm. Tôi muốn có thể chặn hiển thị trang tùy thuộc vào danh tính người dùng và "cờ" trong trang.
Những cờ này có thể được thực hiện bởi một <meta name=keyword content="flag1 flag2 flagn">
thành phần. Khi có một yếu tố như vậy, "thông tin xác thực" sẽ được kiểm tra.
Ý tưởng của tôi là quét phản hồi yêu cầu trước khi trả lại cho người dùng. Đối với điều này, tôi cần
một cách để chuyển toàn bộ phản hồi (tiêu đề + nội dung) cho một số mã tùy chỉnh để có thể phân tích cú pháp phần tử <head>
Nếu không có cờ, phản hồi được trả về không thay đổi
Nếu có cờ và người dùng không có thông tin đăng nhập, anh ta được yêu cầu xác định danh tính của mình
Nếu có cờ và người dùng có quyền xem, phản hồi sẽ được trả về không thay đổi
Nếu có cờ và người dùng không có quyền xem, một trang lỗi sẽ được trả về thay vì phản hồi
Cuối cùng, lá cờ <meta>
phần tử bị xóa để tránh rò rỉ gợi ý bộ lọc.
một cách nào đó để chuyển đến mã người dùng này thông tin về thông tin đăng nhập hiện tại (tên người dùng, giá trị thử thách, bất kỳ thông tin hữu ích nào như dấu thời gian nhận dạng, â¦)
Mã người dùng sẽ dựa trên một "cơ sở dữ liệu" (thuật ngữ này không nhất thiết ám chỉ việc sử dụng một công cụ DB thực sự) chứa các đặc quyền của người dùng và triển khai chức năng hết thời gian chờ.
Mã người dùng có thể được triển khai dưới dạng tập lệnh FastCGI không? Nếu vậy, các chỉ thị để vượt qua phản hồi đầy đủ là gì?
thử nghiệm sơ bộ
Hiện tại nhận dạng người dùng không thể có điều kiện: khi auth_basic
được kích hoạt trong một địa điểm
, người dùng phải tự xác định danh tính, ngay cả khi truy cập các trang công khai. Tôi có thể giảm thiểu điều này bằng cách có khách/người dùng khách/mật khẩu nhưng tôi không thể có trang cảnh báo trước khi yêu cầu thông tin xác thực.
Vì vậy, xác thực luôn được yêu cầu. Sau đó, một Ủy quyền: Cơ bản some_hash
tiêu đề được gửi cùng với yêu cầu. Hàm băm này cần được ghi lại khi xác thực xảy ra để truy cập trong tương lai vào các thuộc tính đặc quyền của người dùng.
Tôi làm nó như thế nào?
Tôi biết rằng ở trạng thái hiện tại, thông số kỹ thuật này hoàn toàn không cung cấp bảo mật thực sự (dễ bị tấn công lại giữa các cuộc tấn công khác). Tôi muốn tạo ra một bằng chứng về khái niệm trước khi đi xa hơn. Mục tiêu của tôi có hợp lý không?
Có cách nào đơn giản hơn để xử lý không? XSLT? (mặc dù thông tin đăng nhập của người dùng hiện tại phải được đưa vào các mẫu)