在整合SiteFactory 和 Oblog 的时候,发现由于两者所采用的加密方式不一至,导致注册中文用户名时出现如下错误:
oblog46(1):安全码验证未通过!
请仔细阅读论坛帮助文件,确保您有相应的操作权限。
为了让支持中文,我们只有修改Oblog的加密方式,让Oblog采有新的md5加密方式
(注意:对于存在中文密码的用户,可能出现密码不正确)
我们直接使用 动网的inc/md5.asp 来修改,先复制动网文件:inc/md5.asp
1.将下面 //第7行
Private m_l2Power(30) Dim Md5OLD |
Private m_l2Power(30) Dim iLength '增加部份 Dim Md5OLD |
2.将下面 //第 198行
Public Function MD5(sMessage,stype) m_lOnBits(0) = CLng(1) |
改为:
Public Function MD5(sMessage) Md5OLD=0 m_lOnBits(0) = CLng(1) |
3.将下面 //382行
if stype=32 then MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) else MD5=LCase(WordToHex(b) & WordToHex(c)) end if |
改为:
If iLength = 32 Then MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d)) Else MD5 = LCase(WordToHex(b) & WordToHex(c)) End If |
然后把这个文保存后复盖Oblog inc 下的 md5.asp ,其他修改按照整合教程修改。
二、完成上面修改之后,可以实现中文注册,但是登录时可能出现如下问题:
中文用户名在SiteFactory登录成功,在oblog能同步登录。而在Oblog登录成功,在SiteFactory却不能同步登陆。
出现这样的情况主要是中文在url的编码问题。接下来我们还要修改Oblog的登录文件,在Oblog的文件夹下找到Login.asp:
将下面//159行
turl=strUrl&"?syskey="&MD5(UserName&oblog_Key)&"&username="&UserName&"&password="&PassWord&"&savecookie="&CookieDate & "@@@"& turl '修改部份 |
改为
turl=strUrl&"?syskey="&MD5(UserName&oblog_Key)&"&username="&Server.urlencode(UserName)&"&password="&PassWord&"&savecookie="&CookieDate & "@@@"& turl '修改部份 |
保存文件即可。
新闻热点
疑难解答
图片精选