模块: [模块] myReferer:跟踪您的引用者、搜索引擎、网络爬虫和关键词
发布者: solo71于2005/8/10 8:30:00 19882次阅读狼工厂为宣布myReferer 1.0的发布而感到自豪。


附加说明
在编码此模块并在各种网站上进行了多次测试后,我必须做出一些可能不适合每个用户的决定。以下是一些
1) 关键词选择
在 'record.php' 文件中,关键词选择是通过一个过滤过程运行的
// 关键词分析器 //////////////////////////////////////////////////
$array = explode(' ', $query);
foreach ( $array as $query ) {
$query = strip_tags($query);
// 如遇到特殊字符问题,请取消以下代码注释。
// 注意:如果服务器不支持,此选项可能导致您的网站崩溃!
// $query = mb_convert_encoding($query, "", "auto");
// 检查关键词长度
$query_lenght = strlen($query);
if ( $query_lenght > $min AND $query_lenght < $max ) {
// 如要删除除了'.'之外的标点符号
$query = str_replace('.', 'xzy', $query);
$query = eregi_replace("[[:punct:]]"," ", $query);
$query = str_replace('xzy', '.', $query);
// 如要处理数字
// $query = eregi_replace("[[:digit:]]"," ", $query);
// 将所有字符转换为小写并删除空格
$query = strtolower($query);
$query = trim($query);
// 结束关键词分析器 //////////////////////////////////////////////
最小和最大关键词大小设置在文件头部。
2) 目标页面记录
关于是否记录由搜索引擎、引用和通过关键词链接的每个目标页面,我们进行了长时间的讨论。我们最终决定不记录所有这些页面,而只记录最近访问的页面和最新查询/引用。这样做的主要目的是为了控制数据库的大小。此外,过多的结果可能会导致网站管理员在数据过载中迷失。
3) 记录操作
'record.php' 文件在每个页面上都被激活。为了限制数据库查询,以下情况下激活记录功能:
a. 引用页面的 URL 与当前站点不同,并且不是直接调用。
b. 如果引用包含关键词,则将其视为搜索引擎,并记录使用的关键词。
c. 检查访问者是否是机器人,其用户代理必须与 Mozilla 和 Opera 不同。
本控件可能产生错误。请告知我反复出现的错误,以便我调整代码。