公告:如果您的账号不能登录,可能是系统对您账号进行了保护,我们发现系统中存在着不安全密码,故对其重置,请您重新激活账号,对于给您造成的不便,敬请谅解!
论坛风格切换切换到宽版
  • 3364阅读
  • 2回复

[分享]我与dede不得不说的故事一:评论不能入库 [复制链接]

上一主题 下一主题
离线blurxx
 

发帖
153
贡献值
17
威望值
75
技术分
0
织梦币
0
只看楼主 倒序阅读 使用道具 0 发表于: 2009-07-13
最近维护个站开始有个习惯,就是每每发布一篇文档后总要自己在下面发表一篇评论。主要是为了赚点人气,因为我的站从开始到现在流量还是有几千,只是这pv太差了,看着也冷清。
所以哈,老农卖瓜自卖自夸吧。可就在前几天,我的评论发布完突然不显示了,不能入库。从提示来看,显示“成功发表评论,现在转到评论页面!”,但到了评论页面却没有我的评论。这让我呆住了,由于我喜欢修改源码,所以只能用排除法:把一个个相关的页面都用原始的文件替换回去。尤其是feedback.php文件,我把所有相关的文件替换一遍。可是评论依旧发布了,看来不是程序问题了。难道我在做数据库批处理的时候,表坏了?接着我去后台试着回复评论,修改回复评论都没问题,证明表也没问题..

不是源码问题,不是表问题,娘呀,这不见鬼了!

直接我只能在feedback.php中一步步的输出,走指针的方法来搞了。我发现程序的输出走不进这个判断if
216行左右的
  1. if($comtype == 'comments'){

没有这个name吗?接着我去前台看表单,表单里面确实是存在的
  1. <input type="hidden" name="comtype" value="comments">

接着我把这个$comtype输出一下:
  1. ShowMsg($comtype,'-1');

我惊奇的发现输出的结果不是我想要的值:comments,而是***ments,呃。。

问题解决了,大家知道是什么原因了吧?

正常来讲,这个属于bug,开发者竟然把name元素值也算在了过滤范围里,在任何的程序中出现这样的情况,都实属判断不严谨。 希望下补丁可以改正这样的问题。
x
离线似水无痕
发帖
172
贡献值
-1
威望值
47
技术分
0
织梦币
0
只看该作者 1 发表于: 2009-07-14
这样判断是为了安全的考虑.
遇到问题要综合分析.特别是自己修改的时候,要留意相关的文件.
 
中国国标网
http://www.gb-china.cn
离线tanzi

发帖
14
贡献值
1
威望值
3
技术分
0
织梦币
0
只看该作者 2 发表于: 2010-05-24
怎么改的说一下吧,遇到同样问题了