烧包?烧包文章标题直接跳转是改的哪里?

2016-07-07 16:42 来源:www.chinab4c.com 作者:ecshop专家

烧包文章标题直接跳转是怎样实现的是JS?

http://www.shaobag.com/article_cat.php?id=8

哪位会改啊~需要共享啊


回答:
与原有系统会员整合成功,关于MD5 16位与32位的问题[申精]

本人原有商城的用户密码是用md5 16位的。商城是用md5 32位的,要是原封不对的导过来的话,那是肯定验证通不过的。翻遍整个论坛也没找过如何解决这个问题。还是自己动手吧。 还有就是16位码是32位码中间的16位,也就是说16位码是有信息丢失的,是不可能通过程序把16位转成32位的。唯一的办法就是在用户验证的时候来解决。

从没玩过php,但有着深厚的c++功底,我想想应该还是能解决的,不多说了,开始解决问题了。不断的查找,终于发现了ecshop的会员验证的文件了。要是没有整合过其它论坛的话,是用\includes\modules\integrates\ecshop.php这个文件来验证用户的。一但整合过其它论坛的话就是用相应的文件来验证用户密码的,我已经整合过discuz 5.5了,那就是用这个文件\includes\modules\integrates\discuz55.php来验证用户密码了。呵,ecshop也挺有意思的。一但整合过后,就是以别人数据表里的信息为准了。比如你直接在ecshop的数据表ecs_users把密码改了,用户登录还是成功,这之前可是搞得我头晕晕的 。后来才发现,只要整合过后,ecshop就不管原来用户表里的密码的死活了 ;有了这些了解就可以开始整合了。
在discuz55.php里,找到函数 function login($username, $password)
if ($row)
{
...
}
else
{
...
}
if里的是验证成功后的东东大家可以看看,那我只要在else里做些东东就可以了。代码如下
if ($row) //这里是原来的东东
{
/* 登陆成功 */
$this->set_cookie($row[$this->field_id], $password, $row['secques']);
$this->set_user_session($row[$this->field_id], $username, $row[$this->field_email]);
$this->user_sync($row[$this->field_id], $username);
return true;
}
else
{ //这里是我加的,注意下面加红的两个地方喔
$sql = "SELECT ".$this->field_id.", ".$this->field_name.", ".$this->field_email.", secques".
" FROM " .$this->table('members').
" WHERE ".$this->field_name." = '$uname' ".
" AND ".$this->field_pass." = '" .substr($this->comiple_password($password),8,16). "'";
$row = $this->db->getRow($sql);
if ($row)
{
/* 登陆成功 */
$this->set_cookie($row[$this->field_id], $password, $row['secques']);
$this->set_user_session($row[$this->field_id], $username, $row[$this->field_email]);
$this->user_sync($row[$this->field_id], $username);

$this->update_password($row[$this->field_id], $password); //修改密码为32位
return true;
}
else
{
return false ;
}
}
MD5 16位函数其实就是32位的中间的16位,也就是说去掉前面8位,后面的8位,中间的就是MD5 16位码了,呵,只要加个substr就可以了。验证成功后不要忘记把16位改成32位了。也就是说用户第一次登录后密码就成了md5 32位的了。以后就不怕密码位数的问题了。哈哈。
一天的辛勤结果啊,和大家享一下。

严重鼓励楼上研究精神。赞一个。

原帖由 dakoumusic1 于 2007-4-23 14:29 发表
烧包文章标题直接跳转是怎样实现的是JS?



http://www.shaobag.com/article_cat.php?id=8



这个是shaobag订制的功能。