以文本方式查看主题

-  康柏仕电脑学院  (http://combss.com/bbs/index.asp)
--  硬件及网络技术资料储存区  (http://combss.com/bbs/list.asp?boardid=61)
----  动网论坛提示"数据中含有非法字符,用户名或密码错"的解决方法并自动退出  (http://combss.com/bbs/dispbbs.asp?boardid=61&id=1996)

--  作者:轻轻风聆
--  发布时间:2008/7/10 17:55:56
--  动网论坛提示"数据中含有非法字符,用户名或密码错"的解决方法并自动退出
错误提示说:“数据中含有非法字符”“您的用户名不存在,或者您的密码错误,……”搜索动网论坛,发现非常多的人有这个问题,但是好象没看到解决办法(也许是我没有找到)这算是一个比较普遍的问题。

  开始以为有人HACK了论坛,但是查看了文件和数据,没有发现任何异常。于常
试着在本地调试,用了无数个response.write来输入各变量的结果,最是发现是

COOKIE丢失引起,检查了IE中COOKIE设定,没有问题,上其他地方也没有问题。
真是奇怪。在LOGIN完的的时候,所有的COOKIE还能显示出来,但一转到INDEX页
面的时候,所有的COOKIE就都为空了。怎么也想不明白为什么COOKIE被清空了,

最后觉得Response.Cookies(Dvbbs.Forum_sn).path这句有些可疑,于是试着把它设成“/”,于是发贴回贴一切就都没问题了,在网上查了查资料,好象是COOKIE设PATH的时候会有个什么BUG(没有太仔细看),所以会让COOKIE读不出来。具体真正的原因我也没太弄明白,但是可以用一个简单的方法解决这个问题,只要把PATH设成“/”就可以了。因为论坛中很多处用到这个变量,所以只要把这个变量直接设成“/”就行了。我个人认为这样不会影响到论坛的安全性,有同样问题的朋友可以试一试。具体做法修改inc/Dv_ClsMain.asp

大概是459行左右,在这么一句

Cookiepath = CacheData(26,0)

改成

Cookiepath = "/"

就行了。我的改完了之后,一切都正常了。具体是什么东西引起的这个问题,还请大家能研究一下