用ASP+SQL Server为网页建一道防火墙

2016-01-29 17:31 2 1 收藏

用ASP+SQL Server为网页建一道防火墙,用ASP+SQL Server为网页建一道防火墙

【 tulaoshi.com - ASP 】

    为网页设置防火墙的主要目的是根据网页内容对不同来访者提供不同的服务,利用Java Script或VB Script,我们很容易做到这一点。但网页的源码在客户浏览器中可以被看到,访问者可以查看所用的用户鉴别方法,这只是一个表面形式的防火墙。ASP是Web上的客户机/服务器结构的中间层,虽然它使用脚本语言(Java Script,VB Script等)编写,程序代码在服务器上运行,在客户端仅可看到由ASP输出的动态HTML文件,但ASP仍具有某些漏洞,采取一定手段也可以看到ASP程序的源码。这时,通过ASP与SQL Server相结合,我们可以设计出简单、高效、可靠的应用程序。下面简单介绍一下其建立过程。

一、建立Login
  在SQL Server上建立访问者的Login和Password。

二、在网络服务器上创建数据库DSN
  使用“控制面板”中的“ODBC数据源管理器”创建某个数据库的ODBC 数据资源名,即DSN,这样以后可以通过使用数据库DSN连接具体的数据库。

  “ODBC数据源管理器”提供了三种DSN,分别为用户DSN、系统DSN和文件DSN。其中,用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的登录用户使用。系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登录服务器的用户使用。

  与上述两种数据库DSN不同,文件DSN把具体的配置信息保存在硬盘上的某个具体文件中。文件DSN允许所有登录服务器的用户使用,而且即使在没有任何用户登录的情况下,也可以提供对数据库DSN的访问支持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便地复制到其它机器中。这样,用户可以不对系统注册表进行任何改动就可直接使用在其它机器上创建的DSN。

  在以上三种数据库DSN中,建议用户选择系统DSN或文件DSN,如果用户更喜欢文件DSN的可移植性,可以通过在NT系统下设定文件的访问权限获得较高的安全保障。

  建立新的DSN,用户首先选择“添加”,然后在弹出窗口中选择用户将要建立连接的数据库类型并选择列表中的“SQL Server”项。如果用户是建立文件DSN,则单击“下一步”按钮并在随后的对话框中输入所要建立的文件DSN的文件名和保存路径。如果用户建立的是系统DSN,单击“完成”按钮。

  在选择完数据库之后,用户需要对数据库DSN进行设置。用户需要选择提供数据库服务的具体服务器,设定登录用户名和口令,以及用户将要连接的数据库。

三、程序设计
  下面要实现的就是一个简单的页面防火墙的功能。此页面只限制本单位内部网的用户进行访问(在此假设内部网的IP地址是从10.61.96.至10.65.97.之间),如果是单位外部用户进行访问则要求输入访问用户名及密码。在此要使用到request对象的ServerVariables属性,通过它来获得环境变量的值。

  程序源码(firewall.asp)如下:

  〈html〉

  〈head〉

  〈meta http-equiv="Content-Type" content="text/html; charset=gb_2312-80"〉

  〈meta name="GENERATOR" content="Microsoft FrontPage Express 2.0"〉

  〈title〉firewall.asp〈/title〉

  〈/head〉

  〈body background="#800080 "〉

  〈%

  '使用Request.ServerVariables("REMOTE_ADDR")得到IP地址并保存在变量remoteip中

  remoteip=Request.ServerVariables("REMOTE_ADDR")

  stip=cstr(remoteip)

  '取得IP地址第三个段的值并保存到stip中

  for i=1 to 2

  stip=right(stip,len(stip)-instr(1,stip,"."))

  next

  stip=left(stip,instr(1,stip,".")-1)

  'IP地址有效性检验及密码验证,包括两方面的内容:如果IP地址符合则通过验证;如果IP地址不符合则检验输入的用户名、密码是否正确

  if (left(remoteip,5) 〈〉 "10.61" or stip〈"96" or stip〉"97") then

  username=request.form("t1")

  password=request.form("t2")

  Set fs = CreateObject("Scripting.FileSystemObject")

  Set thisfile = fs.OpenTextFile("dsn.txt")

  db_loc=thisfile.readline

  thisfile.close

  cnstr=db_loc&&"uid="&&username&&";"&&"pid="&&password

  on error resume   next

  set cn=server.createobject("adodb.connection")

  cn.open cnstr

  if err=3709 then %〉  

  〈p〉〈font color="#FF0000"〉对不起,用户:〈%=username%〉没有访问权限,或密码不正确! 〈BR〉〈

来源:https://www.tulaoshi.com/n/20160129/1501772.html

延伸阅读
随着网络的高速发整,现在使用防火墙的企业越来越多,产品也越来越多,但可能很多人还不了解防火墙,到底能干什么。下面我就简单的说说软件防火墙到底能干些什么吧。 什么是软件防火墙? 顾名思义,软件防火墙就是像office 等,是一个安装在PC上(当然,这里是指可以在PC上安装,但具体使用的时候最好用服务器),的一个软件,而且一般...
DoS(Denial of Service拒绝服务)和DDoS(Distributed Denial of Service分布式拒绝服务)攻击是大型网站和网络服务器的安全威胁之一。2000年2月,Yahoo、亚马逊、CNN被攻击等事例,曾被刻在重大安全事件的历史中。SYN Flood由于其攻击效果好,已经成为目前最流行的DoS和DDoS攻击手段。 SYN Flood利用TCP协议缺陷,发送了大量伪造的TCP连...
标签: ASP
  ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程序解决方案,也是绝大多数从事网站开发人员很熟悉的一个比较简单的编程环境。通过ASP我们可以创建功能强大的动态的WEB应用程序。ASP虽然功能很强大,但有些功能用纯ASP代码完成不了,为了能保证开发出功能更加强大的WEB应用程序,我们可以借助调用COM组件。 在日常工...
络防火墙安全策略是指要明确定义哪些数据包允许或禁止通过并使用网络服务,以及这些服务的使用规则。而且,网络防火墙安全策略中的每一条规定都应该在实际应用时得到实现。下面我们就路由器下通过访问控制列表实现安全策略,以达到防火墙的功能,并对其实现及应用进行详细的叙述。 访问控制列表的作用 访问控制列表是应用在路由器...
win7防火墙怎么关防火墙关闭命令执行步骤   按win+r组合键,在打开框中输入cmd,打开命令行窗口。 输入命令:netsh firewall set opmode disable,按回车键。 如果有安装了杀毒软件的话,可能会有安全提示。选择允许操作即可。 运行命令,界面会出现下面的提示。 查看netsh advfirewall帮助文档(点击...

经验教程

299

收藏

70
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部