修改动网自带的模板系统

[晴 2008年6月3日 16:49 | by gs ]

YT已经分成两个关系很诡异的形态了,而这个分离在很大程度上是基于模板的,这就给模板管理带来了一个问题
两个形态的YT各有各的一套完整模板,而实际上两者之间不同的地方没有多少。就目前来说,不同的地方只有页脚信息不同,其他部分都是相同的
还有一些公共的页面,如登录页面、注册页面,这些页面肯定都是一样的。这样子问题就出来了,当我要修改登录页面的时候,我就必须修改两套模板,这就太费劲了。有一个比较好的办法是,让两个YT在相同的部分共用一个模板,在各自不同的部分才使用自己的模板。
另外还有一点,动网的模板是保存在数据库里的,修改也只能进入后台在网页上进行修改,这不太方便。
为了这两个问题,偶就把动网的这个模板系统改掉了,用上了自己的模板体系。

Tags: , ,

YT的“帖子编辑记录”数据组织结构

[夜晚 2008年5月9日 00:19 | by gs ]

是基于动网论坛的,所以就在动网的数据库上敲敲打打了
这个功能就是,在某个帖子被用户编辑以后,能显示出编辑的记录,如图


下面是具体的数据组织

Tags: , ,

每小时生成一个随机序列的SQL查询

[阴 2008年5月3日 19:21 | by gs ]

其实很简单,通过Sin函数和DateDiff函数就可以实现了

SELECT TOP 10 * FROM yt_fanfic_article ORDER BY SIN(id+DATEDIFF(HH,'2000-1-1',GetDate()))

DateDiff(HH,'2000-1-1',GetDate())返回一个值,这个值等于2000年1月1日到现在经历的小时数,显然,这个值每小时会+1
接着加上一个id,这是记录的编号,以增大随机性
最后计算Sin就可以了,得出来的结果是-1到+1之间的一个小数,每一条记录都会有自己的值,而这个值可以根据小时变化,这样就产生随机序列了

该SQL语句用于YT同人栏目首页的随机文章列表
本SQL语句仅在达梦数据库上测试通过,其他数据库没测试过。不过据猜测不能兼容其他数据库,因为似乎任何两个数据库系统的DateDiff函数的参数都不同…… 总之原理就是这样,针对不同的数据库写不同的就行了,当然通用性就……

Tags: , ,

开一个新的分类,樱町专栏

[夜晚 2008年4月28日 23:06 | by gs ]

似乎YT使用了不少在偶看来是有爱的技术,我想也许能给大家提供新的思路和想法,于是就开了这个栏目。
这个栏目就用来记录偶在YT上使用的偶认为有爱的技术,大家一起交流吧。
之前YT已经应用了不少有爱的技术了,近期偶就慢慢整理出来

Tags:

YT取消了基本的登录验证码

[夜晚 2008年4月28日 23:04 | by gs ]

在进行登录的时候,不需要输入验证码,只有在连续5次因用户名或密码错误登录失败以后才会要求输入验证码。
这里是根据IP地址来判断的,假想每个IP对应一个人。
如果10分钟以内没有进行登录操作,那么再次登录的时候就不用输入验证码了。
这样可以较好地防止爆破密码。不过实际上现在的这个验证码很弱,下次弄个更强的中文+数字+字母验证码,很复杂吧,没办法,谁让你连续登录失败5次了呢。
其实还可以这样,失败5次使用数字或字母验证码,失败10次使用中文验证码,失败15次就使用中文+数字+字母验证码。
其实这个方法是从百度那里学来的,有一次我试图爆破某人的密码的时候发现,登录百度帐号并不需要验证码,我本想写个程序来猜解密码的,不过在我手动猜解几个可能的密码之后,百度竟然要求我输入验证码了。囧掉,连续登录失败超过一定次数就会被要求输入验证码……不错的方法。
现在的Dz和PW登录似乎也是没有验证码,不过有登录尝试限制,登录失败一定次数以后就禁止登录一定的时间。
这个方法也不错嘛,YT就可以这样,如果登录失败超过20次的话,好吧,禁止登录10分钟。

Tags: , ,
分页: 3/7 第一页 上页 1 2 3 4 5 6 7 下页 最后页 [ 显示模式: 摘要 | 列表 ]