实现动态Web页面的第二步是用C编写CGI程序,CGI程序分为以下几部分:①根据POST方法或GET方法从提交的表单中接收数据;②URL编码的解码;③用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器请看如下
实现动态Web页面的第二步是用C编写CGI程序,CGI程序分为以下几部分:①根据POST方法或GET方法从提交的表单中接收数据;②URL编码的解码;③用printf()函数来产生HTML源代码,并将经过解码后的数据正确地返回给浏览器。包括demo.c,cgivars.h和cgivars.c三个文件。将编写好的CGI程序编译成二进制文件放在cgi-bin/目录下,CGI程序能被正确地执行,最终CGI程序就可以对上述表单数据的进行处理了。
下面对程序稍加说明。若以GET方法提交数据,表单中的数据被保存在QUERY_STRING变量中,通过调用函数getenv(QUERY_STRING)来读取数据;若以POST方法提交数据,则程序先从CONTENTLENGTH量得到数据的字长,然后从标准输入中读取相应长度的字符串即可得到提交的数据。数组postinput[i]中保存的就是从表单中提取的数据。
URL编码的解码过程较为复杂,URL编码的规则下:①变量之间用“&”分开;②变量与其对应值之间用“=”连接;③空格符用“+”代替;④特殊意义的字符用%接相应的十六进制ASCI码代替。解码即为编码的逆过程。在程序中,对于从表单中提取过来的postinput[i]中的数据,当发现字符为“+”时,将它转换成空格;当发现字符为“&”时,意味着个名字2值对的结束,在此处将字符中切成几个字符串;当再现字符为“=”时,意味着一个名字/值对的名字部分的结束,在此再将名字/值对分开。最后通过调用unescape_url(charurl)子函数将十六进制ASCII码值表示的特殊字符转换成相应的ASCII字符。
3、PPPOE拨号实现
PPPOE主要针对ADSL宽带接入方式,实现用户的的认证上网方式就是采用这种方式接入。
⑴PPPOE简介
1998年后期问世的以太网上点对点协议(PPPoverEthernet)技术是由Redback网络公司、客户端软件开发商RouterWare公司以及Worldcom子公司UUNETTechnologies公司在IETFRFC制的基础上联合开发的。通过把最经济的局域网技术以太网和点对点协议的可扩展性及管理控制功能结合在一起,网络服务提供商和电信运营商便可利用可靠和熟悉的技术来加速部署高速互联网业务。它使服务提供商在通过数字用户线、电缆调制解调器或无线连接等方式,提供支持多用户的宽带接入服务时更加简便易行.同时该技术亦简化了最终用户在动态地选择这些服务时的操作.
⑵PPPOE实现
实现步骤:
pppoe的实现有两种方式,一种是作为一个用户态的应用程序运行,就是rp-pppoe这个程序;另一种是选择在kernelppp里支持pppoe功能,这同时也需要pppd支持pppoe。
具体的细节实现步骤本文不做详述,有兴趣的读者可以查阅相关的Linux资料进行更深一步的学习研究。
4、基于IPTable过滤式防火墙
网络防火墙用来一个网络不受来自另一个网络的,是网络安全环节中进行的一个防御步骤。在路由器中配置IPTable过滤式防火墙,可以对IP数据封包进行规则检查和过滤,内网安全。
⑴防火墙概述
防火墙是一套能够在两个或两个以上的网络之间,明显区隔出实体线路联机的软硬件设备组合。被区隔开来的网络,可以透过封包转送技术来相互通讯,透过防火墙的安全管理机制,可以决定哪些数据可以流通,哪些资料无法流通,藉此达到网络安全的目的。
防火墙产品可以概略归类为硬件式防火墙和软件式防火墙,但实际上无论是硬件式或软件式防火墙,它们都需要使用硬件来作为联机介接,也需要使用软件来设定安全政策,严格说两者间的差别并不太大。我们只能从使用的硬件与操作系统来加以区分,硬件式防火墙是使用专有的硬件,而软件式防火墙则使用一般的计算机硬件,硬件式防火墙使用专有的操作系统,而软件式防火墙则使用一般的操作系统。
防火墙依照其运作方式来分类,可以区分为封包过滤式防火墙(PacketFilter)、应用层网关式防火墙(Application-LevelGateway,也有人把它称为Proxy防火墙)、电路层网关式防火墙(Circuit-LevelGateway).其中被广为采用的是封包过滤式防火墙,本文要介绍的iptables防火墙就是属于这一种。
封包过滤是最早被实作出来的防火墙技术,它是在TCP/IP四层架构下的IP层中运作.封包过滤器的功能主要是检查通过的每一个IP数据封包,如果其标头中所含的数据内容符合过滤条件的设定就进行进一步的处理,主要的处理方式包含:放行(accept)、丢弃(drop)或(reject)。要进行封包过滤,防火墙必须要能分析通过封包的来源IP与目的地IP,,还必须能检查封包类型、来源端口号与目的端口号、封包流向、封包进入防火墙的网卡接口、TCP的联机状态等数据。
⑵IPtable的原理及实现
IPTables是Linux操作系统中的一个管理内核包过滤的工具,它可以添加、插入或删除核心包过滤表(1)中的规则,以实现防火墙功能。
一个iptables命令基本上包含如下五部分:希望工作在哪个表上、希望使用该表的哪个链、进行的操作(M入,添加,删除,修改)、对特定规则的目标动作、匹配数据报条件。
基本的语法为:
iptables-ttable-Operationchain-targetmatch(es)
例如,希望添加一个规则,允许所有从任何地方到本地smtp端口的连接:
iptables-tfilter-AINPUT-ACCEPT-ptcp--dportsmtp
当然,还有其他的对规则进行操作的命令如:清空链表,设置链缺省策略,添加一个用户自定义的链...
经过一系列深入的配置后,基本的路由功能器就这样诞生了,当然实际中路由器还有相当多的应用功能,这些都是通过软件开发来逐步深层次实现的,如果你想成为一个嵌入式工程师的话,那这篇文章就算是一个引路人吧,要达到更高的境界,还需要自己刻苦学习研究,一步一步在魔幻般的技术中遨游。
[6][7]
夏季选购空调给您七条贴心的
时尚三色相机索尼T100现仅售3080元
低端机超级大礼包佳能A550豪配仅1588元
经济防抖柯达入门相机C653仅售930元
大屏低端市场近期液晶显示器热点回顾
精雕细琢多普达智能机565仅售1280元
大规模到货梅捷四相C68整合板疯卖549
惊爆全国最低C68整合板今起498元开卖
tags:192.168.0.10