gpt4 book ai didi

php - 如何阻止对除内部页面之外的文件夹的访问

转载 作者:行者123 更新时间:2023-11-29 12:39:46 25 4
gpt4 key购买 nike

我有一个非常简单的页面,用户可以登录并下载 pdf。 pdf 的路径直接从数据库中提取并回显为链接。我的脚本的一切都很好,除了我需要阻止任何人访问 pdf 文件夹。我尝试使用以下内容将 htaccess 文件添加到 pdf 目录:

Order deny,allow
Deny from all
Allow from localhost

以及其他几种变体,每次它都只是断开 pdf 的链接。我做错了什么?

最佳答案

仅回显链接来直接获取 PDF 是不够的。 Allow from localhost 表示服务器可以访问它,但用户不能访问。因此,您必须制作一种“代理”php 脚本来使服务器触发下载:

<?php
$pathToThePdf = $_GET['pdf_path'];

header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="mydownload.pdf"');

readfile($pathToThePdf);

然后在您的初始 php 脚本中,您回显该代理的链接:

echo '<a href="/path/to/proxy.php?pdf_path='.$thePdfPath.'">download</a>';

显然,您需要通过检查用户是否已登录来为此代理添加一些安全性。

关于php - 如何阻止对除内部页面之外的文件夹的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26283459/

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