Google [站内搜索]

分类: Web编程预览模式: 普通 | 列表

用正则表达式来校验数据的合法性

我们在制作网站的时候,尤其是各种电子商务网站,首先都会让用户填写一些表格来获取注册用户的各种信息,因为用户有可能输入各式各样的信息,而有些不符合要求的数据会给我们的后端ASP处理程序带来不必要的麻烦,甚至导致网站出现一些安全问题。因此我们在将这些信息保存到网站的数据库之前,要对这些用户所输入的信息进行数据的合法性校验,以便后面的程序可以安全顺利的执行。所以我们一般会在后端编写一个ASP的校验程序来分析用户输入的数据是否是合法的。

或许有人会问了,使用运行在客户端的Javascript不是可以更好更快的来校验用户的数据吗?的确,这样在大多的情况下是可以的,为什么是大多情况下呢?因为你编写的Javascript不一定可以完全正常的同时运行在IE以及Netscape上面,因为微软的Jscript并不全和Javascript相同,再加上还有一些浏览器不一定和微软以及Netscape兼容的很好,所以很有可能在客户端的Javascript不会精确的校验用户输入的各种数据,而ASP程序是运行在服务器端的,只是和你的服务器的环境有关,无论客户端是什么浏览器,对于你的ASP程序来说都是没有分别的,所以选择使用后端的ASP程序来进行数据合法性的校验是一个好的选择。

在使用ASP来进行后端的数据合法性校验的时候,有些人为满足不同环境下面的数据校验,编写了很多的函数来实现,比如,我们想要校验用户输入的URL 地址是否合法,是可以自己编写一段代码来逐个逐个字符的分析用户输入的信息,要分析的信息量小了,那还比较好办,若是分析的条件千变万化,那可就惨了,不但要编写很长很繁琐的代码,而且运行的效率极其低下,有没有好的解决办法呢?有,那就是vbscritp5.0提供的“正则表达式”对象,只要你的服务器安装了IE5.x,就会带VBscript5.0。其实,“正则表达式”原本是Unix下面的专利,尤其是在Perl语言中使用的最为广泛,正是由于“正则表达式”的强大功能,才使得微软慢慢将正则表达式对象移植到了视窗系统上面,利用“正则表达式”对象,我们就可以非常方便的对各种数据进行合法性的校验了。

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 3873

ASP应用之模板采用

初学ASP,程序是能勉强写出来了,但若每进行一次网站页面的改版,所有的源程序都将进行一次移植手术。为此所耗费的人力精力不计其数,甚至一不小心得不偿失、前功尽弃。

所以,梦想着那么大段的程序代码变成几个简单的字符代替,这样只要设计好页面把该功能插入就OK了。其实这也简单,只需将实现该功能的程序代码做成子程序,然后主页调用就可以了。

很多时候,在博客中国,你会选择到很多的模板,甚至有可能自己来设计;或者采用猪飞飞BLOG的各大站长都将其站点改得不近相同……这些,我们都归功于ASP采用模板的功能。

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 3667

使用ASP生成HTML文件

共有两个页面index.htm和send.asp,程序比较简单,主要是用了ASP里的文件操作对象。

index.htm代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 5429

编写安全的ASP代码

Author: N.E.V.E.R
E-Mail: never@safechina.net
Homepage: http://www.safechina.net

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 3724

在ASP中使用SQL语句

1、Select 语句

五花八门的SQL产品多得要命,或许你早顾不得其它甩开袖子就动手干了。但你要同时采用ASP和SQL的话就可能会头晕。MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用自己掌握的Access知识以及相应的Access技能,再加上我们的提示和技巧,相信一定能成功地在你的ASP网页中加入SQL。

在SQL的世界里,最最基础的操作就是Select 语句了。在数据库工具下直接采用SQL的时候很多人都会熟悉下面的操作:

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 3842

ASP中巧用Response属性

我在用ASP为某单位制作网页时遇到这样一个问题,单位以前的MIS系统中将一些Word文件以字节流的形式保存在数据库中,现在用户要求我用ASP将这些Word文件数据从数据库中取出并在网页中显示出来。开始我自然地想到在服务器上创建临时文件、然后在网页中增加一个指向这个临时文件的链接,但这个方法将大大增加服务器的负担不说,而且在服务上如何保证特定客户端所使用的临时文件不被其它客户端使用的文件覆盖,如何在文件传送给用户后将文件删除,这些问题在实际都难很好解决。那么有没有更好的办法呢?

---- 为此我仔细查看了一下ASP的参考书,发现Response对象有一个叫contenttype的属性,它定义服务器发送给客户端内容的MIME类型。MIME全称Multipurpose Internet Mail Extensions,即多功能Internet邮件扩展。我们知道,在网页编程中我们有时将超链接指向一个Word或Excel文件,当用户点击这个链接时浏览器会自动调用对应方法将这个文件打开。之所以能做到这点就是因为用户机器上安装office后会在浏览器中注册对应的MIME资源类型。比如说word文件的MIME类型是Application/msword(前者是MIME类型,后者是MIME子类),Excel文件的MIME资源类型是Application/msexcel。事实上,凡是浏览器能处理的所有资源都有对应的MIME资源类型,比如说html文件的MIME类型是Text/html,JPG文件的MIME类型是Image/JPG。在与服务器的交互中,浏览器就是根据所接受数据的MIME类型来判断要进行什么样的处理,对html、JPG等文件浏览器直接将其打开,对Word、Excel等浏览器自身不能打开的文件则调用相应方法打开。对没有标记MIME类型的文件,浏览器则根据其扩展名和文件内容猜测其类型。如果浏览器无法猜出,则将它作为application/octet-stream。要了解各种文件的MIME类型,请在win98 我的电脑->查看->文件夹选项->文件类型 中查看。

---- 于是我灵机一动,想到在ASP中可以先将WORD数据以字节流方式取出,接着将其conntenttype属性标记为Application/msword,再将它发送给客户机,客户机收到这个资源后,根据其MIME类型,会自动调用客户机上的Word(当然,前提是客户机上装了Word,否则会将其作为一个不能识别的资源,提示用户保存起来,而不是打开它)将它打开。经试验效果很好,方法简单且速度很快,而且在IE5中浏览器使用内嵌方式(类似于OLE方式)打开,效果更佳。以下是程序内容。

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4037

使用模板实现ASP代码与页面分离

每个进行过较大型的ASP-Web应用程序设计的开发人员大概都有如下的经历:ASP代码与页面HTML混淆难分,业务逻辑与显示方式绞合,使得代码难以理解、难以修改;程序编写必须在美工之后,成为项目瓶颈;整合的程序代码和HTML静态页面时,花费大量的时间才能得到理想的效果,兼作了美工。的确,用脚本语言开发Web应用不容易将数据的处理和数据的显示分开,但在多人合作的情况下,如果无法将数据和显示分开,将大大影响开发的效率,专业分工的发挥。
  其它的脚本语言,如JSP、PHP都有自己的解决方案,ASP的后一代产品ASP.NET也实现了代码与页面,似乎直接过渡到ASP是不错的选择。但是总有这样或那样的原因让我们不能或暂时不能放弃ASP直奔.NET大营。从公司角度来看,转换语言是一笔不少的投资,包括雇佣熟手.NET程序员、培训原有程序员、开发工具的转型、开发风格的转型、界面风格转变、接口风格、软件架构、文档、开发流程等等;这还意味着原有的代码必须在新语言环境里重写以实现最佳的效果和稳定性;同时将直接影响这段时间内项目的进度,更有可能导致个别程序员出走。由此看来在您决定转换语言之前,在原基础上寻求一种解决方案,才是最好的选择。
  PHP通过模板实现代码与页面,可供选择的有FastTemplate、PHPLIB、Smarty等多种,其中PHPLIB的影响最大、使用最多。既然如此,我们直接把它搬到ASP来,对于同时使用PHP和ASP的公司还有很有好处:

一、美工处理页面时,不管将要套用PHP还是ASP,处理方式是一样,无须经过培训;

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 6629

ASP分页中一个多余的变量

ASP分页中一个多余的变量

为了能很好的表述出下边我要说的,我们举一个实际的例子,假如存在一个数据库db1,里边一张表table,table里只有两个字段id和name,id为类型为自动编号且为主键,name为文本类型,如下图:

我们在数据库中输入六条记录分别为:小明、小红、小李、小黄、小张、小邝,接下来我们进行简单的分页,程序如下:

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4175

Insert和Rs.Addnew的比较

添加一条新记录是通过RecordSet对象的Addnew方法实现的,还是通过执行SQL语句中的insert语句也可以添加新记录,为何不选用后者呢?二者有何区别呢?

从本质上说,ADO的Addnew方法只是将“Insert into”语句封装了起来,所以,直接使用SQL语句将会大大加快存取数据的速度,因为他减少了ADO的“翻译”时间,尤其当对大量数据进行操作的时候表现得更为明显。但是直接使用SQL语句的缺点:不能传递太长的字段内容,在向数据库中IMAGE字段加入数据时,长文本数据时,就需要使用Addnew了。此外,当字段比较多时SQL语句将会很长而导致不易排错,推荐有经验的编程者优先考虑。

相比较而言,RecordSet对象的Addnew方法首先需要建立一个可更新的RecordSet对象,并且一直保持到Update结束,所以比较消耗系统资源。不过它的优点是灵活性比较好,代码容易阅读,除错方便,推荐新手使用。
分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 3822

六款WEB上传组件性能测试与比较

随着网络大潮的持续深入,企业管理网络化已成为一种趋势,越来越多的企业用户把自己的MIS、OA及各类管理系统搬到了WEB上,深刻地体现了软件“人性化”的一个方面――你不需要安装软件,只要你有操作系统,只要你有浏览器,就可以使用我的软件!
但这些使用简单方便的WEB页面,却有一点经常让人感到恼火,当你想上传一些资料或图片到WEB上的时候,发觉稍大点的文件的上传速度慢得让人难以忍受,或者干脆就让你用FTP上传;更有一些企业用户想在网上实现视频播放,可文件太大,用WEB页面上传难以实现,用FTP上传又要求网站维护人员必须具有一定的FTP上传知识,真是左右为难!
那么,是否有这样一种WEB上传组件,既要能够实现快速上传(还要能上传特大文件),又能够尽量减少服务器资源占用率呢?
目前,网络上使用的上传方式大致分为两类,一类是使用经过编译的组件(DLL文件)进行上传,要使用该上传方式必须在服务器上安装上传组件或在服务器上进行注册组件方可使用;一类是使用未编译的代码类进行上传,无需在服务器上注册即可使用。这两类组件各有十几种,如AspSmartUpload,AspUpload,SA FileUp,LyfUpload,化境无组件上传类……等等。在众多的上传组件中,笔者抽取了个人认为具有代表性的六种上传组件来进行测试,以求得它们之间的性能对比。

查看更多...

分类:Web编程 | 固定链接 | 评论: 1 | 引用: 0 | 查看次数: 4982