Những gì cần thiết để có một kịch bản shell chạy qua yêu cầu HTTP Post?


0

Tôi đã tự hỏi những gì cần thiết để kích hoạt một tập lệnh shell với yêu cầu bài viết HTTP. Đang ở trong nhà, tôi muốn gọi http://ip.of.host/req?run và có một kịch bản được kích hoạt trên máy chủ của tôi. Tôi đoán tôi phải chạy một máy chủ web trên máy chủ. Nhưng những gì khác là cần thiết ngoài? Đây có phải là nơi thích hợp để hỏi loại câu hỏi đó? Cảm ơn!


Câu trả lời:


2

Đây là một câu hỏi rất rộng. Tôi sẽ cài đặt Apache và PHP trên máy chủ và sau đó bạn có thể sử dụng một tập lệnh PHP rất đơn giản để chạy tập lệnh. Không có gì khác nên được yêu cầu.

Trong thư mục gốc web của bạn, đặt một tập lệnh và tệp php:

script.sh :

#!/bin/bash

echo "Hello World"

run_script.php :

<?php
    $output = shell_exec('./script.sh');
    echo $output;
?>

Chạy cái này bằng localhost/run_script.php.

Sau đó, bạn có thể chạy bất kỳ tập lệnh nào bạn muốn (bạn không nên đặt nó trong thư mục gốc của mình!)

Nếu bạn chỉ muốn chạy cái này trên một yêu cầu Bài đăng HTTP, thì hãy bọc tập lệnh vào

if ($_SERVER['REQUEST_METHOD'] === 'POST') { ... }

Và bạn có thể kiểm tra thông số Post với

if ($_POST['parameter']) { ... }

chú thích : Có nhiều cảnh báo với điều này, nhưng chúng được giải quyết tốt hơn dưới dạng các câu hỏi riêng biệt. Điều này sẽ giúp bạn đi, dù sao.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.