gpt4 book ai didi

php - 在哪里保存数字内容并防止共享?

转载 作者:行者123 更新时间:2023-11-30 22:59:48 24 4
gpt4 key购买 nike

我受到这里问题答案的启发:https://security.stackexchange.com/questions/48047/location-to-store-an-encryption-key?newreg=68a1d15daab744dfb22801da245435f6存储加密 key

给了我很多思考。我和我的 friend 正在建立一个网站,我们遇到了一个问题,即每个用户都可以从他的计算机上传数字内容(文件)并将其出售给其他人。

将购买该文件的人将有权访问它(下载它)。问题是我如何使它免受滥用?购买文件的用户将无法与其他人共享(如果他们有链接,他们仍然无法下载文件)。例如,如果 UserX 购买了一个文件并且现在具有以下 url:www.domain.com/downloads/124asfsafsafadsa123127sdhsdc 通过与未购买该文件的 UserY 共享它会引发错误消息。

我们正在用 php 开发..

最佳答案

不是直接链接到文件,而是将文件放在 webroot 之外,然后在您验证用户有权访问该文件后,通过 php 提供服务。

这将防止从您的服务器进行未经授权的下载(这在您试图节省带宽时很有用),但显然不会阻止他人在下载文件后共享文件。

if(userHasPermissionToDownload($_GET['some_file_id'])) {
$local_path = getLocalPath($_GET['some_file_id']);
header('Content-Type: ' . mime_content_type($local_path));
header('Content-Length: ' . filesize($local_path));
readfile($local_path);
exit;
}
else {
header('HTTP/1.0 403 Forbidden');
exit;
}

关于php - 在哪里保存数字内容并防止共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24600474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com