Điểm:1

Quyền mod_userdir và php của Apache

lá cờ je

Tôi có một thiết lập với nhiều người dùng, những người có thể lưu trữ trang web cá nhân của họ (được cung cấp bởi apache qua mod_userdir), nằm dưới công khai_html trong nhà của họ. hỗ trợ php cũng được kích hoạt trong apache.

Hiện tại tôi có cấu hình sau trong /etc/apache2/mods-enabled/userdir.conf

<IfModule mod_userdir.c>
        UserDir <home basedir>/*/public_html
        UserDir disabled root

        <Directory <home basedir>/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes Options
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                <Limit GET POST OPTIONS>
                        Require all granted
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Require all denied
                </LimitExcept>
        </Directory>
</IfModule>

Vấn đề là, vì mọi tập lệnh php được điều hành bởi người dùng dữ liệu www, mỗi trang người dùng có quyền đối với mọi người dùng khác công khai_html. Ví dụ: tôi có thể lấy trình bao đảo ngược php và kiểm tra nội dung của người dùng khác.

Tôi đã cố gắng thêm

php_admin_value open_basingir "."

bên trong Danh mục đánh dấu ở trên. Điều này ngăn chặn lỗ hổng bảo mật được mô tả ở trên, nhưng thực tế chỉ cho phép tập lệnh php đi xuống hệ thống phân cấp thư mục. Ví dụ

<?php
chdir('assets');
echo getcwd();
chdir('..');
echo "<br>";
echo getcwd();
?>

sản xuất

<home>/public_html/nội dung
<home>/public_html/nội dung

Vấn đề được giải quyết nếu <home>/public_html đường dẫn được mã hóa cứng trong open_basedir nhưng tất nhiên tôi cần có khả năng thực hiện điều này cho tất cả người dùng thông qua một số biến. Apache có lưu trữ ký tự đại diện không (<home basedir>/*/public_html) khớp với một số biến mà tôi có thể truy cập bên trong Danh mục nhãn? Hoặc có cách nào khác tốt hơn để thực hiện việc này không, chẳng hạn như chạy từng trang người dùng trong môi trường giống như chroot?

digijay avatar
lá cờ mx
Bạn đã xem [mod_suphp](https://github.com/lightsey/mod_suphp) chưa?

Đă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.