0

我有一个 Apache 网络服务器。我有一个html文件和一个Python脚本位于var/www/myfolder. 我正在html通过我的脚本处理的文件提交表单Python(单击提交按钮时)。但是一旦处理了表单,我的Python脚本就会执行一个外部命令。(见以下代码)

网页.html

<!DOCTYPE html>
<html>
    <head>
        <title>Webform</title>
    </head>
    <body>
        <h3>Webform</h3>
        <form action="myscript.py" method="POST">
            <p>Name: <input type="text" name="name"></p>
            <input type="submit" value="Submit">
        </form>
    </body>
</html>

我的脚本.py

#!/usr/bin/python -W

import cgi, cgitb 
import sys
import os

# Get data from fields
form = cgi.FieldStorage() 
name = form.getvalue('name')

print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Hello Word - First CGI Program</title>'
print '</head>'
print '<body>'
print '<h2>Hello Word! This is my first CGI program</h2></br></br>'
print '<p>Name: %s</p>' % (name)
print '</body>'
print '</html>'

os.system("./other_script.py") # gives me an error with permission

在我的服务器上,user007但我知道当我单击html文件上的提交时,Python脚本以apache2用户身份执行。问题是我不知道这个用户的密码(我们不能 sudo)。这两种想法是否可行:

1)尝试从myscript.pyapache2执行时更改为user007other_script.py

2)我知道你可以更改用户使用suEXEC,但我不知道如何使用它。

有什么建议么?

我应该让你知道,这两个 python 脚本在本地都执行得很好。

编辑1:

我在错误发生之前收到此消息:WARNING: HOME is not set, using root: /

4

0 回答 0