【问题标题】:Run bash file from web page从网页运行 bash 文件
【发布时间】:2013-07-21 21:25:30
【问题描述】:

好的,我有一个 bash 文件,可以在 linux 服务器上执行各种操作。

我需要向 bash 文件传递​​ 7-8 个变量,这些变量将由用户在一个简单的网页上设置。

只是想知道这是否可行,还是我需要通过其他语言编写 bash 文件调用脚本?

查看来自http://www.tldp.org/LDP/abs/html/functions.html 的 bash 文件上的调用函数,这是正确的行吗?

似乎找不到很好的资源来指导我,所以任何链接或示例都值得赞赏

【问题讨论】:

    标签: linux bash


    【解决方案1】:

    如果您在 Web 服务器上运行 PHP,那么您可以将 Web 表单发布到 PHP 脚本,然后使用 PHP 的 shell_exec() 函数调用您的 bash 脚本并传递输入。正如 paulsm4 上面提到的,任何时候你调用一个 shell 脚本并将输入从 web 传递给一个 shell 脚本,你需要非常小心地清理输入以防止注入类型的攻击。一种方法是在 PHP 脚本中进行所有验证和清理,然后通过 shell_exec() 调用 shell 脚本,以确保您只将干净的输入传递给 shell 脚本。

    http://php.net/manual/en/function.shell-exec.php

    【讨论】:

    • +1 用于 PHP 方法。请注意,最好使用escapeshellarg() 进行清理
    • 这真是太棒了,无论如何网页都将成为一个 php 页面,所以这将为我节省很多时间,是的,所有输入的卫生都将在 php 页面上完成。非常感谢大家喜欢这个社区:)
    【解决方案2】:

    是的,你可以。您需要“CGI”(通用网关接口)。这是一个巨大的潜在安全风险:小心!

    CGI bash 只需 Google。例如:

    【讨论】:

    • 哇,响应速度非常快 :) 非常感谢您现在正在查看您的链接
    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多