我正在被试图关闭我的网站的机器人和恶意用户摧毁。
我尝试通过 mod_rewriting 所有对 mp3 文件的请求到一个 php 脚本来制作带宽限制器,该脚本将跟踪每个 ip 并限制每个 ip 每小时可以下载的数量。这工作正常,但它给一些用户带来了很多问题,因为这些链接不是指向 mp3 文件的直接链接。
我尝试了各种强制下载 header ,但对某些用户有效的方法对其他用户无效。
现在的问题是,是否可以保留指向 mp3 文件的直接链接,并且每当有人单击 mp3 文件时同时运行允许或拒绝请求的跟踪 php 脚本?
谢谢!
(服务器没有 mod_bandwidth 或任何其他有用的 mod)
最佳答案
与其在用户点击链接时同时跟踪使用情况,不如将登陆页面制作成一个 PHP 脚本来检查用户的 ip,并根据它输出链接或隐藏它们? 如果您的文件存储在一个明显的文件夹中,例如 你的网站/音乐/艺术家/song.mp3 您可以为它们创建软链接(soft link),这样它会混淆路径。 在 linux 服务器上,您可以使用 symlink() php 函数创建到/music 目录的软链接(soft link),并将路径输出为 yoursite/3awE2afeefef4a323/artist/song.mp3,它仍然应该是文件的直接链接,例如:
<?php
$target = 'music/';
$link = 'a322ewrr323211';
symlink($target, $link);
?>
<html>
<body>
<a href="a322ewrr323211/artist/song.mp3">link</a>
</body>
</html>
然后每晚或创建 24 小时后定期删除这些符号链接(symbolic link)。
关于php - 使用 htaccess 和 php 的 mp3 带宽限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13910010/