我想在用户购买产品时发送我的用户下载链接。我通过邮件发送下载链接。所以当我发送download link
我发送它像.. www.xyz.com/images/2343354.jpg
但我不想让他知道目录结构。意思是当用户试图访问目录后链接/images/2343355
他可以下载其他图像,我不想给该用户。
有没有什么办法可以通过给用户目录下载链接来避免?如何发送下载链接通过隐藏目录
我的照片位于public/images
目录内,因为我已经制作了一个laravel应用程序。
我想在用户购买产品时发送我的用户下载链接。我通过邮件发送下载链接。所以当我发送download link
我发送它像.. www.xyz.com/images/2343354.jpg
但我不想让他知道目录结构。意思是当用户试图访问目录后链接/images/2343355
他可以下载其他图像,我不想给该用户。
有没有什么办法可以通过给用户目录下载链接来避免?如何发送下载链接通过隐藏目录
我的照片位于public/images
目录内,因为我已经制作了一个laravel应用程序。
向用户提供哈希URL,如www.xyz.com/download?image=XNS2323NIEYEDUJES 您需要将具有相关哈希值的图像名称存储在表中。 在下载页面中获取图像请求数据并从数据库中检索原始图像名称。 并使用PHP下载代码进行下载。
<?php
//get original filename with hash name from fb and store in a variable
if($dboriginalfilename!="")){
$fileName = basename($_GET['file']);
$path = set ur path;
$filePath = $path.$fileName;
if(!empty($fileName) && file_exists($filePath)){
// Define headers
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$fileName");
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
// Read the file
readfile($filePath);
exit;
} else {
echo 'The file does not exist.';
}
}
我认为这会对你有用。谢谢
创建一个像这样的JavaScript函数将下载文件,用户不会知道什么URL被调用。
这里是样品的解决方案,你可以尝试
<a href="" id="yourlinkId" onclick="downloadfile('file');">download</a>
<script>
function downloadfile(filename){
var file_path = 'host/path/'+filename+'.ext';
var a = document.getElementById('yourlinkId'); //or grab it by tagname etc
a.href = file_path;
a.download = file_path.substr(file_path.lastIndexOf('/') + 1);
document.body.appendChild(a);
a.href = '';//remove path after download
}
</script>
在此代码正常的链接将没有任何的href显示和下载file.Then在它的点击后,你将只传递文件名和文件会然后下载,如果用户悬停在链接上没有路径将被显示。
这里点击文件名('文件名')每次都是动态的,目录路径在脚本中是静态的。
试试这个。
用户如何访问您的'/ images/2343355'目录下载图像。获得安全权限 – CyberAbhay
定义一个单独的下载路径,它抽象出目录结构,然后编写一些控制器逻辑以获取id并提供相应的图像 –
有没有什么办法可以解决它使用里面的.htaccess中的RewriteCond – Hola