关注Z-Blog Feed及其产生的安全隐患
Z-Blog的Feed分为静态Feed、动态Feed两种:
一、静态Feed:Z-Blog系统通过后台“索引重建”功能,可生成两种静态XML种子:
1、RSS2.0标准格式文件,文件名为rss.xml——如:http://www.zhengzhouseo.org/rss.xml
2、Atom1.0标准格式文件,格式为/feed.asp?atom——如:http://www.zhengzhouseo.org/feed.asp?atom
二、动态Feed:Z-Blog系统还可通过feed.asp文件,将博客内的一些数据制成动态RSS2.0标准的XML种子,方便读者订阅。用户可通过调用Feed文件内的参数,实现特定内容的订阅——例如:用户只关注博客的特定栏目,此时,只需调用Feed文件内的相关参数来订阅该栏目即可。
Z-blog系统的Feed提供多种参数调用,充分满足用户个性化需求,现将参数汇总如下:
参数 有效值 默认值 描述
cate 分类ID 无 输出某分类文章RSS
tags TagID 无 对应tag最近的文章RSS
user 用户ID 无 对应用户最近发布的文章RSS
date 年-月 无 对应 年-月 部分文章RSS
cmt 文章ID 输出整站最新评论 相应文章的最新评论RSS
gb 无 无 留言本最新留言
Feed安全隐患:Feed安全隐患主要体现在动态Feed user参数调用上(订阅某个用户最近发表的文章),通常使用http://blog地址/feed.asp?user=ID订阅z-blog某个用户最新文章时,程序会调用此用户的账户作为页面的标题。尤其在使用http://blog地址/feed.asp?user=1 订阅博主最新文章时,管理员账户会以较大的字体出现在页面的标题中,管理员账户暴露无遗,系统安全系数大幅降低。
Feed user隐患解决方法:在站点feed.asp文件中定位到“Function ExportRSSbyUser(UserID)”这个函数——Feed user参数调用函数,在该函数中找到“UserName=Users(UserID).Name”代码行(程序第151行),直接修改变量UserName的值,如:“UserName="阿民"”,这样即可有效避免管理员账户的泄露。
扩展阅读:
如果你感觉Z-blog程序默认的Feed页面title过于单调,可适当进行修改。修改时,需定位到CSS/rss.xslt文件,查找“”标签,在该标签前后加入自定义title,如:“Rss订阅-
名词解释:
Feed,本意是“饲料、饲养、(新闻的)广播等”,RSS订阅的过程中会用到的“Feed”,便是在这个意义上进行引申,表示这是用来接收该信息来源更新的接口;Feed就是为满足希望以某种形式持续得到自己更新的需求而提供的格式标准的信息出口,可以理解为,你的Blog页面是给人读的,而Feed是给程序读的。更多请参阅Feed_百度百科。
本文为 www.zhengzhouseo.org 原创首发,转载须注明出处!