jsp技术基于平台和服务器的相互独立,输入支持来自广泛的、专业化的各种工具包、服务器的组件和数据库产品,相比之下,Asp技术主要依靠微软的技术支持。
1。平台和服务器的独立性;
2。开放的开发过程,开放的源代码;
3。jsp标签可扩充、jsp可跨平台运行。
一前言
MicrosoftActiveServerPages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。使用ASP可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。
现在很多网站特别是电子商务方面的网站,在前台上大都用ASP来实现。以至于现在ASP在网站应用上很普遍。
ASP是开发网站应用的快速工具,但是有些网站管理员只看到ASP的快速开发能力,却忽视了ASP安全问题。ASP从一开始就一直受到众多漏洞,后门的困扰,包括%81的噩梦,密码验证问题,IIS漏洞等等都一直使ASP网站开发人员心惊胆跳。
本文试图从开放了ASP服务的 *** 作系统漏洞和ASP程序本身漏洞,阐述ASP安全问题,并给出解决方法或者建议。
二关键字
ASP,网络安全,IIS,SSL,加密。
三ASP工作机理
ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。ASP脚本是采用明文(plaintext)方式来编写的。
ASP脚本是一系列按特定语法(目前支持vbscript和jscript两种脚本语言)编写的,与标准HTML页面混合在一起的脚本所构成的文本格式的文件。当客户端的最终用户用WEB浏览器通过INTERNET来访问基于ASP脚本的应用时,WEB浏览器将向WEB服务器发出e/welcomeasp
那么对应就是:
e/wHiliteType=Full
)
由于’nullhtw’文件并非真正的系统映射文件,所以只是一个储存在系统内存中的虚拟文件。哪怕你已经从你的系统中删除了所有的真实的htw文件,但是由于对nullhtw文件的请求默认是由webhitsdll来处理。所以,IIS仍然收到该漏洞的威胁。
问题解决或者建议:
如果该webhits提供的功能是系统必须的,请下载相应的补丁程序。如果没必要,请用IIS的MMC管理工具简单移除htw的映象文件。
补丁程序如下:
IndexServer20:
Intel:
/downloads/releaseaspRReleaseID=17727
Alpha:
/downloads/releaseaspRReleaseID=17728
IndexingServicesforWindows2000:
Intel:
/downloads/releaseaspRReleaseID=17726
8、ASP聊天室程序的漏洞
问题描述:
如果聊天室ASP程序设计不当,很容易会给他人利用来做坏事:可以踢人,穿墙,捣乱
首先,我们看看聊天室里有什么漏洞,大家看看下面这段代码:
onsubmit="returnchksend();">
发言:
悄悄:
对象:
表情:
!!!!!!
!!!!
以上这段代码是我在某个聊天室用"测试者"作代号登陆后在发言帧当下来的,这只是一小部份,但在这一小部份代码里面就有两个漏洞。
第一个漏洞
大家看看上面的代码加上""号的那两句,其中第一句中的"测试者"就是我登陆的名字,还有,第二句中的"boy"是登陆时的性别,还有再看看下面我加上"!"号的两句,第一句里还是有我登陆时的名字,这几句都是我现在想说的两个漏洞所在点。如果想在这个聊天室里穿墙的话,只要把发言帧的代码当下来另存,把"form"的"action"改成聊天室的地址,然后把再""号的第一句的"测试者"两字改成想要的名字就可以了。也可以变换性别,只要把第二句的"boy"改成"girl"。这就是所谓的穿墙术了。你甚至可以把它改成在线人的名字,然后发言,这样就冒充别人的姓名谈话。
第二个漏洞
踢人的漏洞就是这个了,我们看一下带"!"号的第一句,上面有是合法用户登陆的名字,再看第二句,他有"getout",再加上上面还有一段"form"标签,这段就是我们退出聊天室时的代码,这个有什么用呢?我们先试试看,首先还是把"form"标签的"action"改成聊天室的地址,不然就不知道提交给哪个家伙了。然后把"风风"改成你想踢下去的人的名字然后单击"退出",那就把那个人踢出聊天室了。这个就是聊天室踢人的漏洞。
这两个漏洞主要的原因是这两个漏洞使服务程序不识别客户发出的指令是不是合法用户。以上两漏骗服务程序来更名发出发言,或更名退出,使得真正的使用者受害。
当然上面的程序中还有一个漏洞,输入框没有对HTML语句和JAVAscript语句做过滤。这个问题我们在漏洞5中已有详细分析,这里就不谈了。
问题解决或者建议:
在程序设计中让服务程序能识别到底是哪个家伙发出的指令就可以了,具体做法可以为每个聊天者发一个识别码,象五笔字一样,也可以用每个聊天者的密码识别,也可以把聊天者的密码随机加密后用作识别等等,反正能使你的服务程序识别到底是谁发出的指令就可以了
ASPNet程序员测试题
一、数据库部分:
数据库中有以下几个表
Customers(客户信息)
列名称 含义 数据类型 可空 是主键 是外键 默认值
Customer_ID 客户编号 int(自动增长) N Y N 无
Customer_Name 客户名称 nvarchar(30) N N N 无
Products(商品信息)
列名称 含义 数据类型 可空 是主键 是外键 默认键
Products _ID 客户编号 int(自动增长) N Y N 无
Products _Name 客户名称 nvarchar(100) N N N 无
Unit_Price 单价 decimal(7,2) N N N 无
Orders(订单信息)
列名称 含义 数据类型 可空 是主键 是外键 默认键
Order _ID 订单编号 int(自动增长) N Y N 无
Order _Date 订单日期 smalldatetime N N N DETDATEO
Customer_Price客户编号 int N N Y 无
OrderDetails(订单详细内容)
列名称 含义 数据类型 可空 是主键 是外键 默认键
Order _ID 订单编号 int(自动增长)N Y Y 无
Product _ID 商品编号 smalldatetime N Y Y 无
Product_Quantity商品数量 int N N N 1
问题如下
1Orders表Order_Date字段的默认值GETDATEO是什么意思?
2查询商品信息表中的商品总数量,各种商品平均单价。
3查询用户名称为“张三”,订单日期为2005-8-30日的订单总金额。
4查询商品名称为“联想电脑”的商品在2005-7-1日至2005-7-31之间每天的销售明细(要求显示日期、当日的销售总量)。
二、C#语法题
1C#中所有类的基类是什么?
2计算n+(n-1)+(n-2)+…+1(n=100)。
3请阅读以下代码,并求出结果。
Int iResult=0;
Int iTemp=0;
for(int i=0;i+=2)
{
iResult+=i;
}
While(iTemp<3)
{
iResult-=iTemp;
iTemp++;
}
请问iResult的值为多少?
4override与重载有什么区别?
5阅读以下代码,然后回答问题
Private int Division(int x,int y)
{
return x/y;
}
请问该函数被调用时是否可能会出现问题?如果有问题请修改该函数。
6public class A
{
private string_value=“”;
public A(string value)
{
This_value=value;
}
}
Public class B:A
{
//想在构造类B的同时初始化类A中的_value字段?
}
想在构造类B的同时初始化类A中的_value字段,是否可以实现?如果可以实现,请补充类B的代码。
7public sealed class A
{
……
}
请问代码中的sealed是什么意思?
8请问Session 和Application各在什么场合下使用(最好举例说明)
9请问您在什么情况下会用到虚方法?它与接口方法有什么不同?
10请列举二个您用到过的设计模式?
11请列举一些ASPNet中支持数据绑定的控件,您经常使用哪些?
12页面上有一个input框的名字为txtPrice,请在提交前验证该控件中的内容(不能为空,必须是整数,用javascript验证)。
13请问重定向页面有几种方法?
你可以试着做做看,公司出的题应该都不一样的,希望对你有所帮助!
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
各位大哥,大姐们你们好,我在学ASP时的数据库链接里常看到rsopen sql,conn,1,1或rsopen sql,conn,3,3等,请问一这里的1,1或3,3有什么作用啊,又有什么其别呢?我在此先感谢谢各位了。谢谢!!!!
解析:
打开数据记录集方法其实不止一种,但是我们用的最多的就是
rsopen sql,1,1的方法,可是后面的数字参数很多人不解其意,下面我们来介绍一下。
其实open方法后面有多个参数
CursorType LockType CommandType
比如 rsopen sql,1,1
也可以写成
rscursorType = 1
rsLockType = 1
rsopen sql
其中CursorType代表从一个表或者一个SQL查询结果返回的记录。
这个参数有四个值分别是:
adOpenForwardOnly 表示只允许在记录集内的记录间往前移动。这个是缺省值。
adOpenKeyset 反映由其它用户所做的对记录的改变或者删除动作,但并不反映由其它用户做作的添加新记录的动作。
adOpenDynamic 反映由其它用户所做的对记录的改变或者删除动作,包括添加的新记录
adOpenStatic 不反映其它用户对记录所做的修改,添加,删除动作。
这四个值VBSCRIPT预定义位
adOpenForwardOnly = 0
adOpenKeyset = 1
adOpenDynamic = 2
adOpenStatic = 3
lockType 表示当打开记录集时,数据提供者用于锁定数据库的类型:
adLockReadOnly 数据不能改变,这是缺省值!
adLockPessimistic 数据提供者在开始编辑数据的时候锁定记录
adLockOptimistic 仅当调用update方法时,数据提供者锁定记录
adLockBatchOptimistic 用于批处理修改
他们的常量值定义分别是:
adLockReadOnly = 1
adLockPessimistic = 2
adLockOptimistic = 3
adLockBatchOptimistic = 4
CommandType这个参数由于很少用到。
==================================================
RSOPEN SQL,CONN,A,B
A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动
ADOPENSTATIC(=3) 只读,当前数据记录可自由移动
ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动
ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录
B: ADLOCKREADONLY(=1) 默认值,用来打开只读记录
ADLOCKPESSIMISTIC(=2) 悲观锁定
ADLOCKOPTIMISTIC(=3) 乐观锁定
ADLOCKBATCHOPTIMISTIC(=4) 批次乐观锁定
计算机二级《Web程序设计》试题及答案
1在下列的HTML中,正确产生超链接的标记是()。
A新浪网B新浪网C>
以上就是关于做同样的网站ASP的比HTML的小全部的内容,包括:做同样的网站ASP的比HTML的小、求程序员--笔试面试题库、ASP技术问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)