Đây chỉ là cách tôi hiểu ý tưởng về API tệp WordPress . Nếu nó sai, xin vui lòng downvote :)
Đuợc. Nếu bạn tải lên một tệp, tệp này có chủ sở hữu. Nếu bạn tải lên tệp của mình bằng FTP, bạn đăng nhập và tệp sẽ thuộc quyền sở hữu của người dùng FTP. Vì bạn có thông tin đăng nhập, bạn có thể thay đổi các tệp này thông qua FTP. Chủ sở hữu thường có thể thực thi, xóa, thay đổi vv các tập tin. Tất nhiên, bạn có thể thay đổi điều này bằng cách thay đổi quyền truy cập tệp .
Nếu bạn tải lên một tệp bằng PHP, người dùng linux đang thực thi PHP đang sở hữu tệp đó. Người dùng này bây giờ có thể chỉnh sửa, xóa, thực hiện, vv các tập tin. Điều này là ổn miễn là chỉ có bạn là người dùng, người đang thực thi PHP trên hệ thống của bạn.
Giả sử, bạn đang ở trên một máy chủ chia sẻ được cấu hình "kém". Rất nhiều người chạy các trang web PHP của họ trên hệ thống này. Hãy nói rằng chỉ có một người dùng linux đang thực thi PHP cho tất cả những người này. Một trong những quản trị web trên máy chủ được chia sẻ này có ý định xấu. Anh ấy nhìn thấy trang của bạn và anh ấy tìm ra đường dẫn đến cài đặt WordPress của bạn. Ví dụ: WP_DEBUG được đặt thành đúng và có thông báo lỗi như
[warning] /var/www/vhosts/userxyz/wp-content/plugins/bad-plugin/doesnt-execute-correctly.php on line 1
"Hà!" Cậu bé xấu số nói. Cho phép xem, nếu anh chàng này đã đặt FS_METHODđể directvà ông viết một kịch bản như
<?php
unlink( '/var/www/vhosts/userxyz/wp-content/plugins/bad-plugin/doesnt-execute-correctly.php' );
?>
Vì chỉ có một người dùng đang chạy PHP và người dùng này cũng bị kẻ xấu sử dụng, anh ta có thể thay đổi / xóa / thực thi các tệp trên hệ thống của bạn nếu bạn đã tải chúng qua PHP và do người dùng PHP này đính kèm với tư cách là chủ sở hữu.
Trang web của bạn bị hack.
Hoặc, như đã nói trong Codex:
Nhiều hệ thống lưu trữ có máy chủ web chạy như một người dùng khác với chủ sở hữu các tệp WordPress. Khi gặp trường hợp này, một quá trình viết tệp từ người dùng máy chủ web sẽ có các tệp kết quả thuộc sở hữu của tài khoản người dùng của máy chủ web thay vì tài khoản người dùng thực tế. Điều này có thể dẫn đến một vấn đề bảo mật trong các tình huống lưu trữ được chia sẻ, trong đó nhiều người dùng đang chia sẻ cùng một máy chủ web cho các trang web khác nhau.