[123盘直链防盗刷教程] WordPress子比主题下载配置123云盘直链鉴权教程

前言

123云盘的会员存储空间非常大,而且直链下载流量的价格相比传统对象存储要便宜不少——1TB 流量仅需 80 元,折合每 GB 约 0.08 元,对于站内做资源分享、文件体积较大的场景来说性价比很高。

不过,直链有一个天然的隐患:如果直接把原始直链放在文章里,即使子比主题设置了用户每天只能下载一次站内资源,有心人仍然可以通过浏览器抓取跳转后的真实直链地址,拿到这个固定链接后用脚本反复请求下载,从而肆意盗刷你的流量。

原始直链接近于这种形式:

https://vip.123pan.cn/2751017698/9168695

而鉴权签名的作用,就是在每次用户请求下载时,由服务端动态生成一个一次性、带过期时间的临时链接,例如:

https://vip.123pan.cn/2751017698/9168695?auth_key=3793404297-24848-1814017532-5d1c**********1385d2i9319d07b3f2

这个链接中包含了过期时间戳、随机数、用户标识和签名,过期时间可以自由设定为 15 秒、30 秒或 60 秒等。过了这个时间窗口,链接自动失效,即使被截获也无法再次使用。

这样一来,再配合子比主题对用户每日下载次数的限制,就能形成双重防护:攻击者每天最多只能获取到有限数量的临时链接,而每条链接又只有极短的存活时间。即使链接被截获,过期后也立即作废,从而将流量盗刷的损失控制在最小范围内。

配置教程

1、打开 /wp-content/themes/zibll/zibpay/download.php

2、选择下面的代码,粘贴至如下演示的位置:

// ...
//下载前钩子
do_action('zibpay_download_before', $post_id, $down_id, $paid, $file_url, $file_local);
$file_local = apply_filters('zibpay_download_file_local', $file_local, $file_url, $post_id, $down_id, $paid);

//  粘贴在此处

//不是本地文件
if (!$file_local) {
// ...
// 解析URL并检查域名
$parse_result = parse_url($file_url); // 解析 URL
$host = isset($parse_result['host']) ? $parse_result['host'] : '';

if (!$file_local && $host === '你的下载域名(默认vip.123pan.com)') {
    // 鉴权参数
    $private_key = '你123云盘设置的鉴权密钥'; // 鉴权秘钥(需与服务商端设置的一致)
    $uid = 你的直链文件夹uid; // 文件夹uid
    $expire_time = time() + 30;   // 该签发的资源30s以后过期
    $rand_value = rand(0, 100000); // 生成随机数
    // 生成签名
    $request_path = rawurldecode($parse_result["path"]); // 路径
    $sign = md5(sprintf("%s-%d-%d-%d-%s", $request_path, $expire_time, $rand_value, $uid, $private_key)); // 计算md5
    // 生成鉴权后的URL
    $auth_key = sprintf("%d-%d-%d-%s", $expire_time, $rand_value, $uid, $sign);
    $auth_url = $file_url . "?auth_key=" . $auth_key;
    // 重定向到鉴权后的URL
    header('location:' . $auth_url);
    echo '<html><head><meta name="robots" content="noindex, nofollow"><script>location.href = "' . $auth_url . '";</script></head><body></body></html>';
    exit;
}

3、在123盘直链页面侧边栏中找到URL鉴权,设置一个秘钥(需同步文件中的鉴权密钥)后把开关打开

图片[1]-[123盘直链防盗刷教程] WordPress子比主题下载配置123云盘直链鉴权教程-资源刺客

4、按照代码中的提示配置您的 鉴权秘钥、直链域名、文件夹uid以及过期时间 等等

5、保存文件,大功告成,可以去测试了。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容