Hướng dẫn how do you check if exec is enabled in php? - làm thế nào để bạn kiểm tra xem tệp thực thi đã được kích hoạt trong php chưa?

Có cách nào để kiểm tra tập lệnh PHP nếu

if(function_exists('exec')) {
    echo "exec is enabled";
}
2 được bật hoặc tắt trên máy chủ không?

Khi được hỏi ngày 1 tháng 5 năm 2010 lúc 10:34May 1, 2010 at 10:34

Hướng dẫn how do you check if exec is enabled in php? - làm thế nào để bạn kiểm tra xem tệp thực thi đã được kích hoạt trong php chưa?

1

Điều này sẽ kiểm tra xem chức năng có thực sự hoạt động không (quyền, quyền, v.v.):

if(@exec('echo EXEC') == 'EXEC'){
    echo 'exec works';
}

Tobias

4.3732 Huy hiệu vàng19 Huy hiệu bạc38 Huy hiệu đồng2 gold badges19 silver badges38 bronze badges

Đã trả lời ngày 13 tháng 1 năm 2013 lúc 23:04Jan 13, 2013 at 23:04

Michael D Pricemichael d GiáMichael D Price

6611 huy hiệu vàng5 huy hiệu bạc2 huy hiệu đồng1 gold badge5 silver badges2 bronze badges

3

if(function_exists('exec')) {
    echo "exec is enabled";
}

Đã trả lời ngày 1 tháng 5 năm 2010 lúc 10:36May 1, 2010 at 10:36

nc3bnc3bnc3b

14.8k5 Huy hiệu vàng49 Huy hiệu bạc63 Huy hiệu Đồng5 gold badges49 silver badges63 bronze badges

6

ini_get('disable_functions')

Những gì bạn thực sự muốn làm là sử dụng

if(function_exists('exec')) {
    echo "exec is enabled";
}
3 để tìm hiểu xem nó có sẵn cho bạn không:


Đã trả lời trên StackOverflow TẠI ĐÂY: Kiểm tra xem "Exec" có bị vô hiệu hóa không, điều này dường như đến từ trang Php Man: http://php.net/manual/en/function.exec.php#97187

Đường dẫn

Nếu trả về trên True (bạn có thể sử dụng Exec ()), nhưng PHP vẫn không thể kích hoạt tập lệnh thì rất có thể bạn gặp sự cố đường dẫn cho tập lệnh đó, hãy kiểm tra điều này bằng cách thực hiện:

print exec('which bash');

Và sau đó thử

print exec('which ogr2ogr');

Đã trả lời ngày 6 tháng 8 năm 2014 lúc 10:47Aug 6, 2014 at 10:47

DuncanmooduncanmooDuncanmoo

3.0641 Huy hiệu vàng31 Huy hiệu bạc31 Huy hiệu đồng1 gold badge31 silver badges31 bronze badges

Điều này sẽ kiểm tra xem Exec có sẵn và được bật trước khi cố gắng chạy nó không. Nếu bạn chạy EXEC () và hàm không tồn tại hoặc bị vô hiệu hóa, cảnh báo sẽ được tạo. Tùy thuộc vào cài đặt máy chủ có thể hiển thị cho trình duyệt và sẽ luôn luôn viết một dòng vào tệp nhật ký = hiệu suất nhấn.

// Exec function exists.
// Exec is not disabled.
// Safe Mode is not on.
$exec_enabled =
   function_exists('exec') &&
   !in_array('exec', array_map('trim', explode(', ', ini_get('disable_functions')))) &&
   strtolower(ini_get('safe_mode')) != 1
;


if($exec_enabled) { exec('blah'); }

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 14:38Mar 13, 2013 at 14:38

Lance Cleveland ClevelandLance Cleveland

3.0781 Huy hiệu vàng32 Huy hiệu bạc35 Huy hiệu Đồng1 gold badge32 silver badges35 bronze badges

1

Có một chút khó khăn để tìm chức năng

if(function_exists('exec')) {
    echo "exec is enabled";
}
4 có sẵn cho đến khi trừ khi kiểm tra tất cả các khả năng

1.

if(function_exists('exec')) {
    echo "exec is enabled";
}
5

2.Scanning qua

if(function_exists('exec')) {
    echo "exec is enabled";
}
6

3. Kiểm tra

if(function_exists('exec')) {
    echo "exec is enabled";
}
7 được bật

function is_shell_exec_available() {
    if (in_array(strtolower(ini_get('safe_mode')), array('on', '1'), true) || (!function_exists('exec'))) {
        return false;
    }
    $disabled_functions = explode(',', ini_get('disable_functions'));
    $exec_enabled = !in_array('exec', $disabled_functions);
    return ($exec_enabled) ? true : false;
}

Hàm này không bao giờ đưa ra cảnh báo trừ khi chức năng

if(function_exists('exec')) {
    echo "exec is enabled";
}
8 không bị vô hiệu hóa.

Đã trả lời ngày 17 tháng 5 năm 2017 lúc 11:01May 17, 2017 at 11:01

Hướng dẫn how do you check if exec is enabled in php? - làm thế nào để bạn kiểm tra xem tệp thực thi đã được kích hoạt trong php chưa?

ThamaraiselvamthamaraiselvamThamaraiselvam

6.8308 Huy hiệu vàng47 Huy hiệu bạc69 Huy hiệu Đồng8 gold badges47 silver badges69 bronze badges

Tôi giả sử rằng bạn đang chạy nó trên một máy chủ Linux.

Bạn có thể kiểm tra chức năng EXEC bằng cách chạy tập lệnh PHP sau:

exec("whoami", $ret);

echo $ret[0];

Điều này sẽ trả lại lệnh Whoami.

Nếu nó lỗi, đó là do chức năng EXEC không thể chạy.

Hướng dẫn how do you check if exec is enabled in php? - làm thế nào để bạn kiểm tra xem tệp thực thi đã được kích hoạt trong php chưa?

Willie Cheng

6.93012 Huy hiệu vàng47 Huy hiệu bạc63 Huy hiệu Đồng12 gold badges47 silver badges63 bronze badges

Đã trả lời ngày 24 tháng 5 năm 2016 lúc 7:40May 24, 2016 at 7:40

Hướng dẫn how do you check if exec is enabled in php? - làm thế nào để bạn kiểm tra xem tệp thực thi đã được kích hoạt trong php chưa?

Example:

if(strpos(ini_get('disable_functions'),'ini_set')===false) 
    @ini_set('display_errors',0);

Hướng dẫn how do you check if exec is enabled in php? - làm thế nào để bạn kiểm tra xem tệp thực thi đã được kích hoạt trong php chưa?

Đã trả lời ngày 12 tháng 10 năm 2016 lúc 14:18Oct 12, 2016 at 14:18

Đây là một số mã xấu xí tôi đã thực hiện để phát hiện nếu một hàm được bật hay không.

function is_enabled($f)
{
    if($f=='ini_get')return@ini_get('a')===false;
    return(($l=@ini_get('disable_functions'))===null||!is_callable($f)||!function_exists($f)||!in_array($f,array_map('trim',explode(',',$l)));
}

//Usage example:
print_r(is_enabled('str_split'));//true or null if ini_get() is disabled

Ô

4.6732 Huy hiệu vàng21 Huy hiệu bạc31 Huy hiệu Đồng2 gold badges21 silver badges31 bronze badges

Đã trả lời ngày 12 tháng 2 năm 2014 lúc 18:27Feb 12, 2014 at 18:27

Ismael Miguelismael MiguelIsmael Miguel

4.0291 Huy hiệu vàng31 Huy hiệu bạc38 Huy hiệu đồng1 gold badge31 silver badges38 bronze badges

(Dựa trên các câu trả lời khác) Để kiểm tra xem EXEC có tồn tại không và dịch vụ đang chạy:exec exists and services are running:

if(function_exists('exec')) {
    echo "exec is enabled";
}
0

Đã trả lời ngày 8 tháng 10 năm 2019 lúc 19:19Oct 8, 2019 at 19:19

Sinan Eldemsinan EldemSinan Eldem

5.2783 huy hiệu vàng35 Huy hiệu bạc36 Huy hiệu đồng3 gold badges35 silver badges36 bronze badges

Tôi sẽ sử dụng cái này:

if(function_exists('exec')) {
    echo "exec is enabled";
}
1

Đã trả lời ngày 15 tháng 3 lúc 0:54Mar 15 at 0:54

Tim timtim

2.3762 Huy hiệu vàng25 Huy hiệu bạc44 Huy hiệu đồng2 gold badges25 silver badges44 bronze badges

Lệnh EXEC PHP là gì?

Hàm exec () là một hàm sẵn có trong PHP được sử dụng để thực thi một chương trình bên ngoài và trả về dòng cuối cùng của đầu ra. Nó cũng trả về null nếu không có lệnh chạy đúng.used to execute an external program and returns the last line of the output. It also returns NULL if no command run properly.

Làm cách nào để kích hoạt EXEC trong WHM?

Làm thế nào để kích hoạt..
Đăng nhập đầu tiên vào Whm ..
Sau đó đi đến menu phần mềm ..
Nhấp vào menu Trình quản lý Multiphp ..
Sau đó chuyển đến menu cấu hình PHP-FPM hệ thống, như hiển thị bên dưới:.
Trong menu cấu hình PHP-FPM của hệ thống, bạn tìm thấy phần Chức năng vô hiệu hóa, sau đó nhấp vào mũi tên nhỏ như trong hình ảnh bên dưới ..

Có an toàn khi sử dụng EXEC trong PHP không?

Chức năng EXEC an toàn như bạn thực hiện.Miễn là bạn sử dụng các chức năng thoát ra thích hợp như được hiển thị ở đây, bạn sẽ tốt.Mặc dù có thể làm cho các lệnh script an toàn, một vectơ tấn công phổ biến là tải lên một tập lệnh độc hại và sử dụng các chức năng thực thi và các chức năng tương tự để hack máy chủ.. As long as you use the proper escaping functions like shown here, you'll be good. While it is possible to make the script commands safe, a common attack vector is to upload a malicious script and use exec and similar functions to hack the server.

Chương trình PHP tuân theo quy trình nào để thực hiện để hiển thị đầu ra trên trình duyệt?

Mục lục ¶..
Escapeshellarg - Thoát một chuỗi được sử dụng làm đối số shell ..
Escapeshellcmd - Escape Shell Metacharacters ..
EXEC - Thực hiện một chương trình bên ngoài ..
passthru - thực hiện một chương trình bên ngoài và hiển thị đầu ra thô ..
Proc_close - Đóng một quy trình do Proc_open mở ra và trả lại mã thoát của quy trình đó ..