动态页面静态化技术

      比如:动态URL:与静态URL:http://hi.baidu.com/ycosxhack/blog37.htm哪种会更好?自然是后者了!其中的好处是迎合了搜索引擎的要求,静态页面更易被搜索引擎收录。且这样将会提高了网站的移植性。

      从黑客角度来看,黑客更喜欢http://hi.baidu.com/ycosxhack/blog.asp?37这样的动态链接,以执行非法的SQL语句。如果将这样的动态页面或动态URL静态化了,黑客就不能直接利用此URL构造SQL语句了!故,这样经过静态转换的URL:http://hi.baidu.com/ycosxhack/blog37.htm会更加安全!

      实现这样的技术有很多,可以分为两大类:

      一、使用现成的插件,比如:ISAPI_RewriteIIS Rewrite、Apache HTTP服务器的mod_rewrite等,它们都是基于正则表达式解析器开发的重写引擎。它们的使用方法查看它们自带的帮助即可。遗憾,我还没实验过……

二、自己写的代码实现动态网页静态化,方法也有好几种:

1、创建FSO对象,利用此对象将所需的内容动态创建到文件中生成HTML页面;
2、利用模板技术,将模板中特殊代码的值替换为从表单或是数据库字段中接受过来的值生成HTML文件;
3、使用Server.Transfer转换技术,我没实验过。不过我觉得这个很有意思^^其原理如下:

比如这样的静态页面http://www.xxx.com/virus/hack/37.html,其实是不存在virus与hack目录的,所以访问此页面时会出现404错误-无法找到该页!使用Server.Transfer方法的处理流程:

http://www.xxx.com/virus/hack/37.html静态页面-->404.asp(我们自己构造的错误页面)-->过滤处理得到37这样的ID值-->查询数据库中对应37这样ID值的数据-->得到真正的动态页面!

 

      那为什么要virus与hack这样虚假的目录呢?还不是为了迎合搜索引擎嘛!Server.Transfer转换技术关键在于404.asp这个我们自己构造的页面。正是由于这个页面的处理,我们才能看到静态页面http://www.xxx.com/virus/hack/37.html返回的正确结果!还有一些其他实现“动态页面静态化”的技术,我就不介绍了。

 

      最后,这篇文章是“随写”,目的是让喜欢这种技术的人有个大体的了解,要是想深入了解上面我提到的技术,可以到我网盘上下载文档,我收集了5篇,都挺不错的。网盘地址http://ycosxhack.ys168.com/,“网页设计”目录,文件名为“动态页面静态化技术.rar”。

 

原文:http://hi.baidu.com/ycosxhack/blog/item/6b4038fa9bec509658ee90e4.html

你可能感兴趣的:(动态页面静态化技术)