用ASP对网页进行限制性的访问
发布时间:2008-07-03 13:02:00
标签:ServerVariables,request,ip,服务器
要使用request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVariables(variable),“variable”表示环境变量的名称,如服务器主机名称、Web服务器软件名等等,若“variable”为“REMOTE_ADDR”则表示访问者的IP地址,通过它就可以实现IP地址的过滤。
源程序如下:(文件名:demo.ASP)
以下是引用片段:
<html>
<head>
<meta http-equiv=“Content-Type” content=“text/html; charset=gb_2312-80”>
<meta name=“GENERATOR” content=“Microsoft FrontPage Express 2.0”>
<style>
<!--
.as{ line-height: 15px; font-size: 9pt }
a:hover {color: rgb(0,51,240);text-decoration:underline}
.p9 { font-family: “宋体”; font-size: 9pt; line-height: 15pt}
.p12 { font-family: “宋体”; font-size: 12pt; line-height: 18pt}
a:link { text-decoration: none;}
a:visited { text-decoration:none;}
a:hover {text-decoration: underline;font-size: 125%;color:blue}
-->
</style>
<title>ASP页面防火墙功能演示</title>
</head>
<body background=“back.jpg”>
<%
′使用Request.ServerVariables(“REMOTE_ADDR”)得到IP地址并保存在变量rip中
rip=Request.ServerVariables(“REMOTE_ADDR”)
strip=cstr(rip)
′取得IP地址第三个段的值并保存到strip中
for i=1 to 2
strip=right(strip,len(strip)-instr(1,strip,“.”))
next
strip=left(strip,instr(1,strip,“.”)-1)
′IP地址有效性检验及密码验证,包括两方面的内容:
′如果IP地址符合则通过验证;如果IP地址不符合则检验输入的密码是否正确(此处密码为“asp”)
if (left(rip,5) <> “127.1” or strip<“1” or strip>“50”) and request(“Passwd”)<>“asp” then
%>
<p><font color=“#FF0000”>对不起,你的IP是<%=rip%>,本页面可以访问的IP是127.1.1.*到127.1.50.*之间,如果你是本单位内部网的用户,请确认你的浏览器没有使用代理!<BR></font></p>
<form action=“demo.asp” method=“POST” id=form1 name=form1>
<p>请输入访问密码:<input type=“password” name=“Passwd” > <input type=“submit” value=“确认” name=“B1”>;
</p>
</form>
<%else %>
′合法用户可以访问的页面,在此可以加入任何信息
祝贺您,您已经顺利通过了页面的安全认证,可以直接使用本站点的资源!
<%end if%>
</body>
</html>
实际使用只要稍微修改上面的程序(如IP地址等信息)就可以了,当然这只是在一个页面中实现了安全防范功能,如果一个网站有多个页面的话,可以设置一个session变量来对用户进行标志,以在后面的页面中进行判断。


猜你喜欢
- with语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下问题。这样做能避免错误并减少样板代码,因此API能更安全,更易
- 第一种方法:原理比较简单通过判断当前是隐藏还是显示的,并以此来判断。<script language="javascript
- 前言最近公司项目从vue2迁移到vue3,感觉自己对Object.defineProperty和Proxy的了解还是在浅尝辄止的地步,所以今
- 一、文件的打开和创建>>> f = open('/tmp/test.txt')>>> f
- 这篇文章主要介绍了python实现XML解析的方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
- table单元格新增行并编辑,具体内容如下需要bootstrap.min.css —— [ Bootstrap ]jquery-1.8.2.
- 工厂方法(Factory Method)模式又称为虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphi
- CentOS7安装mysql笔记1 CentOS7默认安装mariadb数据库,卸载mariadb。rpm -qa|grep mariadb
- 基于TCP协议的套接字编程实现电话沟通为例,这里传递的是字符,可以自己尝试去发送一个文件# 服务端import socket# 1. 符合T
- 在日常使用Python做爬虫,一般会用到以下手段:请求URL,返回HTML文本,然后通过xpath、css或者re,提取数据有些网页的数据通
- 实验名称:网络聊天室功能:i. 掌握利用Socket进行编程的技术ii. 掌握多线程技术,保证双方可以同时发送iii. 建立聊天工具iv.
- 首先呢,需要有两个mysql服务器。如果做测试的话可以在同一台机器上装两个mysql服务程序,注意要两个运行程序的端口不能一样。我用的是一个
- 引言:之前博文介绍过了mysql/oracle与ES之间的同步机制。而logstash最初始的日志同步功能还没有介绍。本文就logstash
- 弹出层提示信息,这是移动前端开发中最常见的需求,你可能会想到一些流行的弹框插件,比如 经典的artDialog 炫酷的Sweetalert等
- 介绍shutil 名字来源于 shell utilities,有学习或了解过Linux的人应该都对 shell 不陌生,可以借此来记忆模块的
- 最近工作需要用到序列匹配,检测相似性,不过有点复杂的是输入长度是不固定的,举例为:input_and_output = [1, 2,
- 前言 基于mybatis的AbstractRoutingDataSource和I
- 1、关于参数的区别实例方法:定义实例方法是最少有一个形参 ---> 实例对象,通常用 self类方法:定义类方法的时候最少有一个形参
- 本文实例讲述了Python结巴中文分词工具使用过程中遇到的问题及解决方法。分享给大家供大家参考,具体如下:结巴分词是Python语言中效果最
- SQL Server日期计算 通常,你需要获得当前日期和计算一些其他的