• 技术文章 >后端开发 >php教程

    一个下载地址防盗的判断 大牛进来看下!该如何解决

    2016-06-13 12:32:48原创251
    一个下载地址防盗的判断 大牛进来看下!
    两个网站 一个主站 一个上传用的子站

    主站的download.php 为下载页面

    子站的down.php为下载链接

    必须通过download.php的下载点击链接才能下载
    为了防止用户直接访问 子站/down.php?fileid=1能下载到该文件 做了下面的判断

    download.php 增加一个哈希值
    $hash = strtoupper(md5('downloadkey'.date('ymdh')));

    down.php 也增加一个哈希值
    $hash2 = strtoupper(md5('downloadkey'.date('ymdh')));

    down.php判断

    if($hash<>$hash2){
    header("Content-Type: text/html; charset=utf-8");
    echo '文件ID: '.$file_id.'
    ';
    echo '['.$file_name.'] 文件地址已过期,请返回下载地址重新下载。

    如果仍然出现此问题,请联系管理员

    ';
    if($pd_gid==1){
    echo '

    ---------- 以下内容 管理员可见 ----------
    ';
    echo '文件HASH:'.$hash.'


    ';
    echo '文件HASH2:'.$hash2.'
    ';
    }


    当时这样会有一个问题 就是当用户在20:59:59''的时候访问的下载页面,然后点击下载了

    但是点击之后时间是21:00:01了,这样就造成了哈希值不一样,然后就不能下载,要返回重新下载一下就可以

    如何解决呢。。

    PHP编程就业班

    相关文章推荐

    • !帮小弟我看看这个娶图函数到底出错在哪• 搞了两天,没有弄成,宣布失败,求高手帮忙!• thinkphp 没选择上传文件• php字符串转化成数组解决思路• mysql惠存emoji表情现在为?

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网