首页 > CMS > 动易CMS > 正文

如何让Oblog整合SiteFactory支持中文用户名

2024-09-10 21:56:44
字体:
来源:转载
供稿:网友

在整合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  '修改部份

 

保存文件即可。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选