首页 Soft PlugIn RAN乱 Dev开发 Info资料 English WAP 留言 登陆 注册
-
Posted by Yippee | 评论(1) | 引用(0) | 阅读2066次
Bo-Blog的修改记录和建议3RSSCNT

今天不停的在发送传真,一次测试要发送十几页,于是跑到服务商看看,发现流量居然快超标了?!我一直觉得应该不会的啊,尤其最近用了一个可以统计流量的,发现每天也就十几M而已,就是有人下载,这点小文件也不会这么夸张吧。www.shengfang.org

然后又想来想去,好像我提交RSS到许多地方,不知道有多少人在访问,因此就加上一个RSS统计的。

首先找到几个PHP统计代码看看,发现有一个最简单的,就弄了过来:

<?php
$fp = fopen("rss.txt", "r");
//以读形式打开记录以往访问人数的文件
$str1 = fgets($fp,10);
//从文件中读入9个字符,本计数器最大能记录的访问人数为999999999
$str1++;
//计数器加入
fclose($fp);
//关闭文件
$fp = fopen("rss", "w");
//一写的方式打开记录访问人数的文件
fputs($fp, $str1);
//把最新的访问人数写入文件
fclose($fp);
//关闭文件
?>

新建了一个rss.txt,初始值弄大一些。

修改 RSS2.PHP和atomfeed.php,前面加上 require("rss.php"); 这样每次有人访问RSS/ATOM,就等于运行 RSS2和ATOMFEED,就自动从文件读取数值,再加一写回去。

不过每次直接访问TXT文件很麻烦,因此觉得应该整合到INDEX.HTM里面。又找了找资料。

引用
PHP模板即PHPlib的Template技术,是PHPLIB程序库中的一个主要模块之一,发展自Perl的Template。而PHPLIB则是在PHP上的一个扩展,提供了很多类库,能够方便地实现一些基本功能如用户认证,数据库封装等。我们可以在phplib.netuse.de上下载到其最新版本。要使用PHP模板,只需在PHPLIB的程序包中解开template.inc文件,并放到我们的PHP程序能够调用的目录里。

剥开神秘的面纱,模板技术的核心概念简单得令人心跳:要将你的美工页面指定为模板文件,只需将页面中活动的内容如数据库输出,用户交互等部分定义成形式为{ variable }的变量放在模板文件中相应的位置,当用户浏览时,由PHP程序文件打开该模板文件,将模板文件中定义的变量进行替换,当然,替换成对应的数据库输出或者用户交互等动态生成内容,举例如下:

定义模板文件:Mytemplate.html
Mytemplte.html的内容为:

今天是{ today }
 
我们可以看到,事实上模板文件就是一个普通的HTML文件,它包含了你所想要的版面、美工等要素,而内部的活动内容则以变量的形式存在,并等待被替换。显然,模板文件直接被浏览是毫无意义的,因为它不包含任何PHP程序,所有的内容都是“死”的,现在我们来看看,怎样来调用模板,让它“活动”起来。

假设我们在test.php文件中使用了上述模板,当用户浏览test.php文件时,test.php文件处理过程如下:

test.php
 mydate=date("Y年m月d日");//处理好变量的值
include("template.inc");//调入将模板程序模块
mytemp=newTemplate("/你的模板文件所在目录/");
//创建一个模板实例mytemp,如果模板就在当前目录,那么使用"."就可以
mytemp->set_file("MyFileHandle","MyTemplate.html");
//设置MyFileHandle文件句柄指向我们所要调用的模板文件Mytemplate.html
mytemp->set_var("today",mydate);
//调用模板的set_var方法,设置模板中的变量today值为$mydate
mytemp->parse("MyOutput","MyFileHandle");
//调用模板的parse方法,对MyFileHandle文件句柄所指向的模板文件进行分析,替换其中相应变量
//并把替换结果即完整的HTML文件内容保存在字串变量MyOutput中
mytemp->p("MyOutput");
//打印输出结果字串变量MyOutput的值
?>


按图索骥,我比较土,是先搜索那个文件包含了那些变量,发现太多了,再搜索谁包含了INDEX.HTM,再上网搜索SET_FILE是干什么的~~www.shengfang.org

修改INDEX.HTM:加入 <br/>RssCount: { rss }

修改 INDEX.PHP:在www.shengfang.org

$t->parse("output", "index");
$t->p("output");www.shengfang.org

加入 :[hide] $fp = fopen("rss.txt", "r");
$str1 = fgets($fp,10);
fclose($fp);www.shengfang.org
$t->set_var("rss",$str1);[/hide]

搞定~~~~~~~~~ 不知道有没有什么漏洞,不过我没有使用参数,应该无法注入吧。


字体:

Permanant URI永久地址 http://www.shengfang.org/blog/p/boblog3rsscnt.php
Trackback URI引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1123247922

2005年8月5日21:18星期五  [Dev开发] 追踪此文的RSS
路过在 2007年12月15日23:41星期六 评论:

称呼:    登陆   注册
   不注册,但记住我的信息
邮件:
(非必须)
评论: [UBB代码帮助]
粗体 斜体 下划线 链接 水平线 引用



验证码: 请输入你看见的数字
关闭UBB      提交时自动将内容复制到剪贴板

公告
Fire and Motion!

统计信息
[Yippee]||[统计]||日志:1858
在线: 11||用户: 2577 [列表]
今日:396||到访:2886460
Rss:897736||评论:1605

最新日志

最新评论

友情链接

日历
2008 - 08
     12
3456789
10111213141516
17181920212223
24252627282930
31      

最新引用

搜索

归档

杂项
Get RSS Feed (Version 2.0)
Get Atom Feed (Version 0.3)
编码:  UTF-8