手把手教你去除Discuz!NT的Cookie的加密,方便ASP程序整合
Discuz!NT是一个.net好论坛,而且开源,所以很爽。但是很多朋友的程序是asp的,不要整合。我教大家一个方法,如下:整合原理:Discuz!NT的Cookie是用DES加密的,所以删除DES加密过程,就可以了
第一步,先去 DNT官方下载源码 http://www.discuznt.com/opensource.html 找到适合自己的版本。我下载 SQLServer版 (.net Framework2.0)
第二步,按照dnt_sql_n2_1_src.zip里的帮助,用VS打开这个项目
第三步,打开 \Forum\ForumUtils.cs 大约350行开始
第一处:找到
public static string GetCookiePassword(string key)
{
return DES.Decode(GetCookie("password"), key).Trim();
}
修改为
public static string GetCookiePassword(string key)
{
return GetCookie("password").Trim();
}
-----------------------------------------------------------------------------------------
第二处:找到
public static string GetCookiePassword(string password, string key)
{
return DES.Decode(password, key);
}
修改为
public static string GetCookiePassword(string password, string key)
{
return password;
}
-----------------------------------------------------------------------------------------第三处:找到
public static string SetCookiePassword(string password, string key)
{
//if (password.Length < 32)
//{
// password = password.PadRight(32);
//}
return DES.Encode(password, key);
}
修改为
public static string SetCookiePassword(string password, string key)
{
//if (password.Length < 32)
//{
// password = password.PadRight(32);
//}
return password;
}
第四步:
重写编译就可以拉
特别注意:Discuz!NT官方发布的源码版(如:dnt_sql_n2_1_src.zip)和安装版(如:dnt_sql_n2_1.zip) 版本不一致(可以去官方下载对比bin文件即可知道),所以不能将用源码版编译的DLL给安装版用,必须都用源码版的。下面两个下载已经是源码版的编译,只做以上代码修改,没做任何其他修改,欢迎下载。
文件名:acs_n2_1.rar下载次数:6文件类型:application/octet-stream文件大小:5.16 M 上传时间:2007-8-4 23:55:29描述:Access版
文件名:sql_n2_1.rar下载次数:4文件类型:application/octet-stream文件大小:5.07 M 上传时间:2007-8-4 23:55:29描述:SQLServer版
页:
[1]