php - 只允许 PHP 脚本打开像 www.mydomain.com/topsecret/1/001.jpg 这样的 url

标签 php .htaccess security

我运行一个网络应用程序,我将用户上传的文件存储在如下文件夹结构中:

www.mydomain.com/uploads/topsecret/1/001.jpg
www.mydomain.com/uploads/topsecret/1/002.jpg

现在,很容易猜出 003.jpg 和 004.jpg 的 url ...

因此,我想限制用户只能访问 www.mydomain.com/app/,而不能访问其他任何内容。 只有我在本地主机上的 .php 页面才可以访问绝密 pdf,例如

show.php:
<? if ($isAdmin) {
    echo "<img src='http://www.mydomain.com/uploads/topsecret/1/001.jpg'/>";
 } ?>

或许可以通过 .htaccess 或文件夹权限找到解决方案。我知道我可以通过“headers”和“readfile”来解决这个问题,但是现在这会导致一些重构。

先谢谢你, 马蒂亚斯

最佳答案

这可能是您正在寻找的:

将包含此内容的 .htaccess 文件放在您不希望用户能够访问的文件夹的根目录中:

order deny,allow
allow from 127.0.0.1
deny from all

这仍然允许从网络服务器上的网络浏览器访问这些 url,但尝试从任何其他计算机访问它们将导致 403 错误。

关于php - 只允许 PHP 脚本打开像 www.mydomain.com/topsecret/1/001.jpg 这样的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12479763/

相关文章:

php - 在 php 中导出为 CSV

php - SQL参数警告

.htaccess - MAMP localhost 无法启用 CORS

javascript - JWT:在多域级别处理 token 身份验证

javascript - 从 dataurl 获取图像的高度和宽度

php - CORS : Accessing ssl endpoint from non ssl site

php - 停止直接访问文件夹中的所有文件,但允许 ajax 请求

php - 如果使用方法 GET,如何加密 URL 参数

java - 用户 token 认证 Spring MVC RESTful API

java - 反射安全吗?