当前位置: 首页 > 图文教程 > 网络编程 > ASP > 利用ASP实现三个强大功能之三

ASP
提高SQL的执行效率的ASP的五种做法
asp的offset的一个go to page
asp中command的在单条记录时,有些字段显示为空的问题
asp,php一句话木马整理方便查找木马
asp 合并记录集并删除的sql语句
asp下循环一行多少个
asp循环行数输出函数
asp access重新开始编号
ASP生成数字相加求和的BMP图片验证码
静态页面利用JS读取cookies记住用户信息
比较详细的Asp伪静态化方法及Asp静态化探讨
asp Response.flush 实时显示进度
Asp高级故障解决以及相关代码
asp智能脏话过滤系统v1.0
ASP文件中的安全问题
Access数据库中“所有记录中均未找到搜索关键字”的解决方法
asp两组字符串数据比较合并相同数据
asp MYSQL出现问号乱码的解决方法
asp文章中随机插入网站版权文字的实现代码
ASP利用XMLHTTP实现表单提交以及cookies的发送的代码

利用ASP实现三个强大功能之三


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 85 ::
收藏到网摘: n/a

  如何隐藏页面以防被搜索

  在网络上为我们导航的搜索引擎使用一些小程序 --- 例如我们所知道的’robots’、’bots’、 ’crawlers’和’spiders’ --- 来对页面进行索引。然而,当开发一个站点,尤其是使用ASP进行开发时,做到防止页面被索引却是非常有用的。当这些搜索引擎正在回顾它们对所创建的web 页面进行动态索引的方案时,例如ASP页面,本文将帮助你学习一些重要的技巧来避免robots 跟踪那些你不情愿被它们索引的页面。

这为什么与你有关?

  比方说现在你访问了XYZ公司的Web 站点,用你所熟悉的搜索引擎对’XYZ Corp.’ 进行搜索。如果你发现你的管理页面也在相关的链接表中的话就会有点担心了。如果你有一个电子商务站点,你会不愿意在用户结束前面的页面之前,得到这个站点的定单部分最后一页的url 。不仅仅是网管人员不希望发生的。对于用户来说,有些页面不能正常运行也是烦恼的事,或者是因为他们没有适当的权限,或者因为他们没有按照设定的顺序访问页面。这样也不利于你的站点的声誉。这与那些商业搜索引擎的经营者自身也有关系。因为他们想要提供准确的链接来改善服务。

  那么,如何防止这些程序对你的站点的某些页面进行索引呢?有两种方法可供选择,一是在根目录下包含一个名为robots.txt 的文件,或者是使用< META > 标记。

包含一个robots.txt 文件

  早在1994年,一个自动邮件发送列表就联合提出了一个防止robots 拖拽站点的协定。但是这并不是一个正式的标准,它不能提供执行的保证,但是却为许多robot 作者所使用。

  创建一个robots.txt 文件非常简单,它表明网管人员所希望的robot 行为标准。注意文件名必须用小写字母,而且必须放在站点的根文件夹中,例如http://xyzcorp/robots.txt ,这样一个文件就能带出整个站点的全部细节。
一个robots.txt 文件中有什么?

  每个robots.txt 文件包含一条或多条记录。一条记录由robot 的用户代理字符串组成,即你愿意遵循的指示和应用于它的指示。不用担心你需要知道在web中漫游的所有robot的用户代理字符串,因为你可以用通配符* 来应用所有的robots。以下是一个记录的例子:


User-agent: *

Disallow: /XYZfinances.asp

Disallow: /admin

Disallow: /news/update.asp


  除了用户代理字符串/通配符,只需要包含一个disallow 命令。这一个简单的例子就显示了你将会需要的全部可能性。它表明没有用户代理字符串能够进入 XYZfinances.asp ,用这一行表示:

Disallow: /XYZfinances.asp

  或者说用户代理字符串不能进入管理文件夹及其下面的所有文件夹:

Disallow: /admin

  或者是新闻文件夹中的update.asp文件,如果新闻文件夹中所有其它内容都可以被索引的话。

  在一条记录中你愿意包含多少用户代理字符串的名字都可以。同样在任何一个robots.txt 文件中,你愿意包含多少条记录都可以(只要用一个或多个空行分隔开这些记录就可以)。

  每一条单独的记录都可以为一个或多个robots提供不同的指示。但是为那些没有用用户代理字符串所命名的引擎增加一个通配符规则是明智的。最流行的选择是维护用一条记录和一个代表用户代理字符串的通配符所表示一个方案。一个有196个用户代理的清单可参考

http://info.webcrawler.com/mak/projects/robots/robots.html。

  普遍认为,robots应该忽略大小写和版本号。要记住这是大多数商业搜索引擎的robots作者们的意见,因为你不想用那些没用的页面来使用户感到苦恼。但是,虽然在命令行中你可以不必考虑大小写,但是必须保证在键入URL时是准确无误的。虽然Windows NT 对文件名和路径名的大小写无所谓,但并不是所有的平台都如此。

  你希望包含进去的其它东西就只有注释了,这些使用UNIX bourne shell 协定,如用#符号表示在hash 符号前面空白,和一行中可以被忽略的剩余部分。如果一行中只包含一个注释的话,它就可以完全被忽略,虽然它在记录之间的作用与空行并不相同。

现在来看看两个最终的例子。

例1


# Don’t come to this site

User-agent: *

Disallow: / # Disallows anything


例2


# robots.txt for XYZcorp

# webmaster: John Doe contact [email protected]

User-agent: * # Applies to all robots except next record

Disallow: /store/order/ # No robot should visit any URL starting with

/store/order/

Disallow: /admin/ # Disallow any pages in the admin folder

Disallow: /world_domination.asp # Disallow world_domination.asp


好,这就是有关robot.txt文件的全部内容。

下面介绍如何使用 < META >标记 。

使用一个< META > robot 标记

  同样,你还是不能保证