立即注册找回密码

草根资源吧

官方指定联系方式

工作时间: 周一到周五早上09:00-11:00, 下午03:00-05:00, 晚上08:30-10:30(周六、日休息)
点击这里给我发消息 点击这里给我发消息
QQ: 280520150地址:河南郑州金水区  邮箱: lianxun888@163.com

Discuz!开发之附件动态链接生成与解析

[复制链接]
  • TA的每日心情
    开心
    2018-7-1 22:44
  • 签到天数: 16 天

    [LV.4]偶尔看看III

    发表于 2018-5-12 16:32:40 | 显示全部楼层 |阅读模式
    熟悉discuz!的朋友应该知道,discuz!的附件在前台显示的都是动态的下载链接,例如:

    http://localhost/forum.php?mod=attachment&aid=MTc2NTF8OTVkOTMyODB8MTQ5MTk4MDg1MHwxfDMyMQ%3D%3D

    从上面我们看到,参数aid并不是附件表中的aid,难道此次有加密?

    我们来研究一下这个aid参数的生成方法:

    \source\function\function_core.php


    function aidencode($aid, $type = 0, $tid = 0) {  
        global $_G;  
        $s = !$type ? $aid.'|'.substr(md5($aid.md5($_G['config']['security']['authkey']).TIMESTAMP.$_G['uid']), 0, 8).'|'.TIMESTAMP.'|'.$_G['uid'].'|'.$tid : $aid.'|'.md5($aid.md5($_G['config']['security']['authkey']).TIMESTAMP).'|'.TIMESTAMP;  
        return rawurlencode(base64_encode($s));  
    }  
    上面链接中的aid参数就是把该附件的aid、论坛安全码、时间、我的ID号、主题ID等信息字符串拼接之后使用了base64加密而来,因此我们的就很容易解析这个aid参数,可参考:
    \source\module\forum\forum_attachment.php


    @list($_GET['aid'], $_GET['k'], $_GET['t'], $_GET['uid'], $_GET['tableid']) = daddslashes(explode('|', base64_decode($_GET['aid'])));  

    本帖最近访客
    回复

    使用道具 举报

    该用户从未签到

    发表于 2018-5-17 10:18:12 | 显示全部楼层
    下载来了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-28 17:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2018-5-21 11:49:17 | 显示全部楼层
    帮帮顶顶功能强大!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2018-5-21 14:14:50 | 显示全部楼层
    看帖回帖是美德!
    回复 支持 反对

    使用道具 举报

    使用高级回帖 (可批量传图、插入视频等)

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则   Ctrl + Enter 快速发布  

    发帖时请遵守我国法律,网站会将有关你发帖内容、时间以及发帖IP地址等记录保留,只要接到合法请求,即会将信息提供给有关政府机构。
    Powered by Discuz! X3.2 豫ICP备17024477号-1   
    Copyright © 2008-2016 www.sxpxb.net All Rights Reserved.
    快速回复 返回顶部 返回列表