Điểm:0

Truy cập trang web dựa trên cookie của Apache

lá cờ fr

Tôi lưu trữ một cookie trong một tệp và muốn hạn chế quyền truy cập đối với những người dùng có bộ cookie cụ thể đó (với tên được chỉ định) và chuyển hướng những người khác (từ bất kỳ trang nào trong trang web) đến thư mục gốc của trang web của tôi. Vì trang web của tôi sử dụng một nút phụ trợ để xác thực người dùng (tức là để xác minh mật khẩu) nên tôi cũng muốn miễn trừ trang proxypass ("/ xác thực") và bất kỳ "trang phụ" nào tiến hành trang đó.

Một vấn đề tôi gặp phải với các loại "danh sách trắng" này là chúng thường không bao gồm toàn bộ trang web (bao gồm cả tên miền phụ) và không hoạt động đối với các thư mục đang được lập chỉ mục.

    Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
    Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/access.log kết hợp

    Công cụ SSL bật
    SSLCertificateFile /etc/apache2/ssl/site.com.pem
    SSLCertificateKeyFile /etc/apache2/ssl/site.com.key
</Máy chủ ảo>

<Máy chủ ảo *:443> 
    ServerName site.com
    DocumentRoot /var/www/site.com/html

    <Thư mục /var/www/site.com/html/files>
        Tùy chọn + Chỉ mục
       AllowOverride All
    </Thư mục>

    Yêu cầu proxy tắt
    ProxyPass/ủy quyền http://localhost:3001
    ProxyPassReverse/ủy quyền http://localhost:3001
</Máy chủ ảo>

<Máy chủ ảo *:443>
    Tên máy chủphim.site.com
    Yêu cầu proxy tắt
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
</Máy chủ ảo>

<Máy chủ ảo *:443>
  Tên máy chủ mail.site.com
  DocumentRoot /var/www/site.com/roundcube

  ErrorLog ${APACHE_LOG_DIR}/roundcube-error.log
  Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/roundcube-access.log kết hợp

  <Thư mục /var/www/roundcube>
      Tùy chọn -Chỉ mục
      AllowOverride All
      Lệnh cho phép, từ chối
      cho phép từ tất cả
  </Thư mục>
</Máy chủ ảo>

Chỉnh sửa: Chỉ cần làm rõ, tôi biết tôi có thể làm điều gì đó như sau để đạt được những gì tôi đang theo đuổi (ở một mức độ nào đó):

RewriteEngine bật
RewriteCond %{HTTP_COOKIE} !MYCOOKIE
RewriteRule ^/myhome/content/ - [F]

Nhưng làm cách nào để đảm bảo điều này có tác dụng trên mọi Virtualhost (tức là trên mọi tên miền phụ) và cũng đọc một cookie từ tệp để tôi có thể thay đổi cookie mà không cần phải khởi động lại apache.

Cảm ơn bạn!

lá cờ kz
"Tôi lưu trữ một cookie duy nhất **trong một tệp**" - Ý bạn là "trong một tệp"? Bạn đã thử những gì? "và không hoạt động đối với các thư mục đang được lập chỉ mục" - không có lý do gì lại xảy ra trường hợp đó, trừ khi bạn đang đề cập đến "bộ đệm" của công cụ tìm kiếm (trước khi hạn chế được triển khai)? Các công cụ tìm kiếm sẽ không thể truy cập nội dung ngay từ đầu nếu nội dung đó bị hạn chế bằng cookie. Nhưng không phải xác thực của bạn (`/authenticate` hoặc `/authorise`?) đã hạn chế quyền truy cập chưa?
Qubarf avatar
lá cờ fr
"Không phải xác thực của bạn đã hạn chế quyền truy cập sao?" - Tôi bối rối; điều này có nghĩa là để nhắc tôi làm rõ về cách thức hoạt động của phần phụ trợ vì rõ ràng, nó không (và không thể) hạn chế quyền truy cập vì trang web được cung cấp bởi apache, nó chỉ đặt cookie thích hợp trong trình duyệt của khách hàng nếu được cung cấp với mật khẩu chính xác. Theo một "tệp", ý tôi là "Tôi lưu trữ một cookie" được đọc bởi phụ trợ nút của tôi để đặt trong trình duyệt của khách hàng trong một tệp trên máy chủ. Tôi đã thử [điều này](https://stackoverflow.com/questions/19932311/apache-dynamic-whitelist).
lá cờ kz
"...và bất kỳ" trang phụ "tiếp tục nó." - "Trang phụ" nghĩa là gì?
Qubarf avatar
lá cờ fr
[Ừm](https://vi.wikipedia.org/wiki/Trang con) Nhưng đó là một chi tiết rất nhỏ, nó hầu như không quan trọng?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.