2011-09-17 174 views
-1

我发现我的任务的Python脚本,但我不知道如何在服务器上用参数(在本地机器上用命令行执行)执行此脚本。如果这个脚本的地址是www.aaa.com/abc.py,那么我怎样才能通过浏览器或其他参数来执行它?Python脚本的执行

+0

服务器上运行什么Web服务器? –

回答

2

您需要从CGI脚本运行Python脚本。

首先,创建一个CGI脚本,abc.sh这样的:

#!/bin/sh 
echo "HTTP 200 OK" 
echo "Content-type: text/plain" 
echo "" 
./abc.py 2>&1 

确保chmod +x abc.sh,并在cgi-bin目录坚持既abc.shabc.py

然后你应该可以访问example.com/cgi-bin/abc.sh,它将运行Python脚本。

+0

Hacktastic - 我喜欢它:-) 另外我建议允许传递参数: 将'./abc.py 2>&1'改为'./abc.py \'echo $ QUERY_STRING | sed's /%20// g'\'2>&1' 现在,您可以像浏览器一样在浏览器中传递网址中的参数: example.com/cgi-bin/abc .sh arg1 arg2 arg_etc ; -P –

+0

唯一的问题是你可能会意外地打开自己的漏洞利用计划......我宁愿使用'./abc.py“$ QUERY_STRING”',然后让python脚本处理它。 –