← Recent posts

杯了个具,又是个顽固的BUG

2011-03-01 · 4 comments

 

当时做评论的时候,因为不打算在前台做过多验证,所以把评论的分析扔给了后台,可以说这是一种不健壮的解决方案,虽然对代码有充分的ESCAPE,恶意输入不会造成什么伤害,不过缺点就是正常输入有的时候也会莫名其妙地被过滤掉。

这个错误本来应该很容易发现,不过还是晚了点发现,其实也不算是个大BUG,就是很常用的表情>_<,中的"<"输入不能,会被自动地ESCAPE掉,调试了2个小时都没找到最佳的解决方案,于是决定这个暂时不修了,等过后有时间把评论部分的标签全部去掉该用BBCODE就可以轻松解决了,涉及到CODE PURIFY真是麻烦,扔给前台要考虑恶意输入,扔给后台,要考虑后台分析。前后台都做虽然好,不过这个分的情况就比较多,还要验证用户是否正确输入,不管怎么说都不是件轻松事。

于是这个BUG修正就暂时被搁置掉了。

3月份预计会抽时间完善2个功能和修正上述这个BUG:

完善:

增加评论表情。

增加伪春菜补丁。

修正:

评论部分采用BBCODE,这样可以保证安全的前提下保证一部分用户自选布局。

 

至于抽象化神马的,是否最成一个通用平台还未考虑清楚,先能满足自己的需求再说后话了,时间毕竟是有限的。

闪人,趴床。おやすみなさい~

Comments (4)

2011-03-01 13:31 · ##1
用正则替换成>和<

我觉得直接消除是很不负责的解决方式
2011-03-01 16:09 · ##2
@卜卜口の:
昨天尝试了2个多小时就是写正则来做TAG的WHITELIST,不过效果不好,如果都是正常的输入那无所谓,如果有恶意输入的话就不好说了。
测试结果就是替换HTML标签比较费劲而且吃系统资源,如果有MALFORMED TAGS会造成一些分析错误,这样反倒不如直接改用安全标签做正则替换来的快。而且正则分析起来比较死板,改写BBCODE的话直接用正则把全部标签ESCAPE掉,然后用BBCODE标签替换成HTML标签,后台处理速度快的多,长期来讲也容易扩展。
2011-03-01 22:30 · ##3
Bug什么的最讨厌了>

Leave a comment