大家都知道, 一个文件提供给下载, 用户在下载过程中, 可能得到相同的文件名文件, 可内容被修改了.
这在许多外挂论坛, 小工具论坛, 问题特别明显. 就算管理员将md5写在帖子, 可管理员怎么知道服务器文件对应的md5值是否正确呢?
以下修改将实时显示出附件的md5值: (仅修改一个文件)
打开文件: \source\function\function_attachment.php
查找:- $postlist[$attach['pid']]['attachments'][$attach['aid']]['downloads'] = $attach['downloads'];
复制代码 修改成:- $attchpath = $_G['setting']['attachdir'].'forum/'.$postlist[$attach['pid']]['attachments'][$attach['aid']]['attachment'];
- $md5 = '';
- if($postlist[$attach['pid']]['attachments'][$attach['aid']]['isimage'] == 0 && is_file($attchpath) && filesize($attchpath) <= 10000000){
- $md5 = ', MD5: '.md5_file($attchpath);
- }
-
- $postlist[$attach['pid']]['attachments'][$attach['aid']]['downloads'] = $attach['downloads'].$md5;
复制代码 上传替换旧文件即可.
有以下规则:
1: 图片文件不计算md5, 似乎没这个必要.
2: 大于10MB的文件不计算md5. 否则会压力大增.
效果图片:
php文件包.
|