Dưới đây là cách bố trí:PHP và .htaccess giải pháp xác thực
web root
- admin (dir)
- index.php
- js
- img
- other files/dirs
- dir
- files
Cho đến bây giờ, tôi bảo vệ các thư mục admin với .htaccess passwd vì tôi muốn kiểm soát truy cập đầy đủ cho tất cả các file trong thư mục đó (bao gồm js kịch bản, jpg , pdf, v.v.) Mặt khác, CMS tùy chỉnh của tôi cung cấp xác thực bằng cách sử dụng PHP sesssion/cookie cho các URL khác. Những gì tôi muốn thực hiện là sử dụng cùng một xác thực PHP cho thư mục được bảo vệ .htaccess, tránh dấu nhắc popup cho người dùng/mật khẩu cho người dùng đã được xác thực PHP. Nói tóm lại:
- Tôi muốn các dir admin để sử dụng các quy tắc .htaccess để xác thực
- Nếu người dùng đã được xác nhận bằng PHP (đăng nhập trong một hình thức HTML, trên một tập tin không được bảo vệ), bỏ qua quá trình xác thực .htaccess thứ hai khi truy cập vào nội dung quản trị dir
- Nếu một tổ chức phi PHP dùng xác thực cố gắng truy cập nội dung trong thư mục admin, HTTP auth sổ popup nên được kích hoạt
Hầu hết những thứ mà tôi đã đọc gợi ý di chuyển thư mục quản trị bên ngoài gốc web và truy cập t anh ta tập tin từ một kịch bản PHP với readfile, mà tôi không muốn làm. Có nội dung động trên thư mục đó, cũng như tĩnh. Tôi biết rằng apache sẽ kích hoạt popup auth trước khi tải bất kỳ tài nguyên để câu hỏi là làm thế nào để làm cho apache nhận thức rằng người dùng đã được xác thực. Bất kỳ đề xuất/giải pháp nào khác?
Xác thực HTTP của bạn bằng php> http://php.net/manual/en/features.http-auth.php> http://koivi.com/archives/php-http-auth/ –
Hãy xem ở đây, bạn có thể giải quyết bằng PHP chỉ: http://php.net/manual/en/features.http-auth.php và không có tệp .htaccess. Đối với Cookie Stuff, hãy xem tại đây: http://www.askapache.com/htaccess/htaccess-fresh.html#Get_Cookie_Value. Sau khi người dùng của bạn được đăng nhập vào một cookie được thiết lập. Tệp htaccess của bạn cần kiểm tra cookie đó. Điều này không hoạt động thực sự tốt với các phiên php, vì cookie phiên chỉ chứa một phiên băm. –