木子屋 Dnawo's BLOG

2006-07 归档

共 136 篇

加密你的ASP页面—Script Encoder初探

一、概述 一直以来,ASP技术受到了越来越多朋友的喜爱,使用ASP从事WEB开发的人也越来越多。ASP一个非常明显的特征是页面在服务器端经过处理之后发送到浏览器中的内容为标准的HTML格式,这样有效的保护了页面程序的原代码不被客户端轻易获取(当然MS的BUG不断那是另一回事了。^_^)。但是另一个普遍存在的问题是:由于ASP页面是纯文本的形式存放,在服务器端可以轻易看到全部编程逻辑。这样给ASP应用商业化带来了一定的困难。解决的方法一般是使用组件技术将编程逻辑封装入DLL之中,但问题是: 1、如果每段代码都组件化似乎工作量太大了,也没有必要。 2、还有很多网友(比如象浪子一样:- 中的 Script 原语不…

三种禁用FileSystemObject组件的方法

众所周知,FileSystemObject组件的强大功能及破坏性是它屡屡被免费主页提供商(那些支持ASP)的禁用的原因,我整理了一下,本来只找到两种方法,后来被某人一刺激,硬是想到第三种不为人所知的方法,呵呵,也不知道是不是这样的。 第一种:用Regsvr32 /u C:\WINDOWS\SYSTEM\scrrun.dll(win98路径)来注销该组件。此方法过于狠毒,属于同归于尽的方法,大家都没得用,是下招 第二种:修改Progid的值,在ASP里调用组件的方式通常是 Set 对象名=Server. CreateObject("Progid"),这时候我们就可以通过修改注册表中的Progid值从达到禁用该组件的方法。在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROO T\Scripting.FileSystemObject,这时候我们就可以更改该Progid的值了,如改成Scripting.FileSystemObject8。这样在ASP页里就这样调用了:…

网站防盗链下载的解决方案

什么是盗链   “盗链”的定义是:此内容不在自己服务器上,而通过技术手段,绕过别人放广告有利益的最终页,直接在自己的有广告有利益的页面上向最终用户提供此内容。 常常是一些名不见经传的小网站来盗取一些有实力的大网站的地址(比如一些音乐、图片、软件的下载地址)然后放置在自己的网站中,通过这种方法盗取大网站的空间和流量。   为什么会产生盗链   一般浏览有一个重要的现象就是一个完整的页面并不是一次全部传送到客户端的。如果请求的是一个带有许多图片和其它信息的页面,那么最先的一个Http请求被传送回来的是这个页面的文本,然后通过客户端的浏览器对这段文本的解释执行,发现其中还有图片,那么客户端的浏览器会再发送一条Http请求,当这个请求被处理后那么这个图片文件会被传送到客户端,然后浏览器回将图片安放到页面的正确位置,就这样一个完整的页面也许要经过发送多条Http请求才能够被完整的显示。基于这样的机制,就会产生一个问题,那就是盗链问题:就是一个网站中如果没有起页面中所说的信息,例如图片信息,那么它完全可以将这个图片的连接到别的网站。这样没有任何资源的网站利用了别的网站的资源来展示给浏览者,提高了自己的访问量,而大部分浏览者又不会很容易地发现,这样显然,对于那个被利用了资源的网站是不公平的。一些不良网站为了不增加成本而扩充自己站点内容,经常盗用其他网站的链接。一方面损害了原网站的合法利益,另一方面又加重了服务器的负担。…

For each ... in .... 语句的应用

For ... Next 和 For each ... in ... ... Next 语句的区别在于前者事先知道要循环多少次,而后者事先不知道要循环多少次。 For each ... in ...用法举例: '取出request.querystring中全部参数及值 for each que in request.querystring response.write que & "=" & request.querystring(que) & " " Next '取出request.form中全部参数及值 for each que in request.form response.write que & "=" & request.form(que) & "…

虚拟内存设置终极攻略

本文详细介绍了虚拟内存的设置和相关问题的解决方法。   内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内里储存的文件释放到原来的安装目录里了。   当系统运行时,先要将所需的指令和数据从外部存储器(如硬盘、软盘、光盘等)调入内存中,CPU再从内存中读取指令或数据进行运算,并将运算结果存入内存中,内存所起的作用就像一个“二传手”的作用。当运行一个程序需要大量数据、占用大量内存时,内存这个仓库就会被“塞满”,而在这个“仓库”中总有一部分暂时不用的数据占据着有限的空间,所以要将这部分“惰性”的数据“请”出去,以腾出地方给“活性”数据使用。这时就需要新建另一个后备“仓库”去存放“惰性”数据。由于硬盘的空间很大,所以微软Windows操作系统就将后备“仓库”的地址选在硬盘上,这个后备“仓库”就是虚拟内存。在默认情况下,虚拟内存是以名为Pagefile.sys的交换文件保存在硬盘的系统分区中。…

如何批量消除网页链接虚线框

浏览网页的时候,一般的超链接(包括文字链接和图片链接),当你点击以后都会出现一个虚线框,有损页面美观。 产生虚线框的本意是告诉你该链接已经获得了焦点,如果要消除虚线框,只需要让它失去焦点就可以了。所以只要在链接里加入onfocus="this.blur()"这条代码就可以了。 例如:链接 这是消除单个链接虚线框的做法。如果一个页面里有几十甚至几百个链接,这样一个一个加代码,就显得很烦琐了,而且容易遗漏,当然你也可以使用查找/替换来一下搞定。不过我们一般不这么做,因为每个链接都加上这代码势必会增加网页容量,进而影响页面速度。 我们一般使用htc来解决这类代码重复使用的问题。htc全称就是Html Components,是微软在IE5.0后开始提供的一种新的指令组合, 它可以把某种特定功能的代码封装在一个组件之中, 从而实现了代码的重复使用。下面就来编写这个指令组合…

网页文本输入框参数使用指南

在一般的留言本,论坛等地方都要用到文本输入框,也就是html语言中的textarea,textare包含有众多的参数,学会运用这些参数,就可以随意修改文本输入框的大小和外观,达到你想要的效果,下面就来介绍这些参数,以及如何使用这些参数。 1、cols,垂直列。在没有做样式表设置的情况下,它表示一行中可容纳下的字节数。例如cols=60,表示一行中最多可容纳60个字节,也就是30个汉字。另外要注意的是,文本框的宽度就是通过这个来调整,输入好cols的数值,然后再定义输入文字字体的大小(不定义的话,会采用默认值),那么文本框的宽度就确定了。 2、rows,水平列。表示可显示的行数,例如rows=10,表示可显示10行。超过10行,则需要拖动滚动条来浏览了。(同上,文本框的高度就是通过这个来控制的。)…

如何取消浏览网页时自动出现的图片工具条

使用IE浏览器浏览网页的时候,当鼠标停留在一幅图片上的时候,IE会自动出现一个图片工具条,在工具条上可以进行保存、打印图片等相关操作,这本来是一个便捷的设置,但有时也会对浏览网页造成不便,因为这个图片工具条会影响页面美观。解决的办法其实很简单,只要把鼠标移到图片工具条上点右键,会出现一个菜单,只要选择永久不出现图片工具条就可以了,以后浏览网页就不会出现图片工具条了。 另外,安装了QQ软件以后,浏览网页的时候也会出现一个类似的图片工具条。解决办法是,在图片工具条上选择最后一项,对响应的图片的大小进行设置一下就可以了。

合格程序员该做的事情

1、总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2、考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3、考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢 4、考虑自己一天工作完成的质量和效率能否还能提高 一天只提高1%,365天你的效率就能提高多少倍你知道吗? (1+0.01)^365 = 37 倍 5、看一个有用的新闻网站或读一张有用的报纸,了解业界动态 闭门造车是不行的,了解一下别人都在做什么,对自己能带来很多启示…

ASP提速技巧

技巧之一:提高使用Request集合的效率 访问一个ASP集合来提取一个值是费时的、占用计算资源的过程。因为这个操作包含了一系列对相关集合的搜索,这比访问一个局部变量要慢得多。因此,如果打算在页面中多次使用Request集合中的一个值,应该考虑将其存贮为一个局部变量。 例如将代码写成下面的形式以加快脚本引擎处理速度: strTitle=Request.Form("Title") strFirstName=Request.Form("FirstName") strLastName=Request.Form("LastName") If Len(strTitle) Then strTitle=strTitle & " "…