使用外壳脚本进行CGI编程 [英] CGI programming with shell scripts
本文介绍了使用外壳脚本进行CGI编程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将TextBox的内容传递给一个变量。即,需要将在html页面的文本框中键入的任何内容传递给变量。这是因为我在Linux外壳编程中调用了HTML(以及CGI)。我需要随心所欲地操作该变量。你有做这件事的主意吗?
我需要做的是,我想从用户那里获得MAC地址作为输入。也就是说,我们应该有一个带有文本框的HTML页面,该用户将能够输入MAC地址。因此,无论用户在文本框中输入什么内容,都需要传递给一个变量。
一旦我们有了变量,此脚本将自动将此MAC地址添加到Linux防火墙中以拒绝访问。
代码应如下所示:
!/bin/bash
echo "Content-type: text/html"
echo ""
echo ""
echo "enter the MAC address "
iptables -A INPUT -m mac --mac-source $mac_address -j DROP
service iptables save
service iptables restart
我将此文件(test.cgi)保存在/var/www/cgi-bin目录下,并从Firefox运行此脚本。
所以现在的问题是变量$mac_address
。CGI不会将文本框输入传递到变量$Mac_Address。
推荐答案
此问题的真正答案是不要。
您的Web服务器似乎正在使用root
权限运行。这是第一个禁忌。
您真的想让整个世界都能够修改您的防火墙配置吗?您无法控制如何调用您的外壳脚本,也无法控制传递给它的内容。您正在打开重大安全漏洞。
请参阅WWW Security FAQ on CGI scripts和Writing secure CGI scripts以及CGI Security : Better Safe than Sorry。
这篇关于使用外壳脚本进行CGI编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文