使用外壳脚本进行CGI编程 [英] CGI programming with shell scripts

查看:23
本文介绍了使用外壳脚本进行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 scriptsWriting secure CGI scripts以及CGI Security : Better Safe than Sorry

这篇关于使用外壳脚本进行CGI编程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆