proc_open is probably a better solution for most use cases as of PHP 7.4. There is better control and platform independence. If you still want to use shell_exec[], I like to wrap it with a function that allows better control.
Something like below solves some problems with background process issues on apache/php. It also
public function sh_exec[string $cmd, string $outputfile = "", string $pidfile = "", bool $mergestderror = true, bool $bg = false] {
$fullcmd = $cmd;
if[strlen[$outputfile] > 0] $fullcmd .= " >> " . $outputfile;
if[$mergestderror] $fullcmd .= " 2>&1";
if[$bg] {
$fullcmd = "nohup " . $fullcmd . " &";
if[strlen[$pidfile]] $fullcmd .= " echo $! > " . $pidfile;
} else {
if[strlen[$pidfile] > 0] $fullcmd .= "; echo $$ > " . $pidfile;
}
shell_exec[$fullcmd];
}
Tại Bobcares, chúng tôi thường nhận được yêu cầu kích hoạt các chức năng PHP, như một phần của Dịch vụ quản lý máy chủ của chúng tôi
Hôm nay, hãy xem các Kỹ sư hỗ trợ của chúng tôi kích hoạt chức năng này như thế nào. Chúng ta cũng sẽ thảo luận về rủi ro bảo mật liên quan đến hàm exec
Hàm exec là gì?
exec là một hàm PHP sẵn có. Nó thay thế một quy trình hiện đang chạy bằng chương trình mới. PHP sử dụng hàm để thực thi chương trình và nó trả về dòng cuối cùng của kết quả
Nhiều plugin tối ưu hóa hình ảnh WordPress sử dụng chức năng này. Do đó người dùng WordPress thường tiếp cận chúng tôi để kích hoạt chức năng này
Rủi ro bảo mật khi kích hoạt chức năng exec
PHP có một số chức năng nguy hiểm có thể khiến máy chủ dễ bị tấn công. Các hàm này bao gồm system, passthru, shell_exec, exec, v.v.
Do đó, các Kỹ sư hỗ trợ của chúng tôi luôn khuyến nghị khách hàng tắt các chức năng này trong máy chủ. Và các hàm này sẽ được liệt kê trong chỉ thị disable_functions trong tệp php. tập tin ini
Xóa “exec” trên menu để kích hoạt nó
Sau đó lưu cấu hình
Cách vô hiệu hóa
- Lặp lại các bước như trên cho đến khi vào menu System PHP-FPM Configuration, bạn tìm lại menu “Disable Functions” như hình bên dưới
- Phần điền thêm từ “exec” rồi nhấn Add. để hiển thị dưới đây
Sau đó lưu cấu hình
Phần kết luận
Xem xét chức năng này rất quan trọng để bảo vệ khỏi các cuộc tấn công của tin tặc, bạn có thể kích hoạt chức năng này nếu bạn muốn cài đặt các plugin mới trong OJS, OMP và OPS và sau khi các plugin được cài đặt, bạn có thể hủy kích hoạt lại chúng. Vì vậy, có thể giảm thiểu rủi ro của những kẻ xâm nhập [Hacker]
Chúng tôi cung cấp các dịch vụ OJS, OMP và OPS Fix để xem chi tiết, vui lòng bấm vào đây để xem thông tin chi tiết sau
Thông tin về các Tác giả
Muhammad Al Madani
Xin chào. Tôi là Almadani, OJS hỗ trợ khách hàng từ Openjournaltheme. Có niềm đam mê giúp giải quyết các vấn đề của nhà xuất bản, có kiến thức và kinh nghiệm liên quan đến việc sử dụng OJS, OMP và Eprints