gpt4 book ai didi

php - 服务器中的安全文件存储

转载 作者:行者123 更新时间:2023-12-05 00:24:20 25 4
gpt4 key购买 nike

我有一个工作网站,所以有许多简历上传到服务器并存储在一个公开的文件夹位置。我只是想知道我可以在 Apache、php 级别采取哪些安全措施来阻止未经授权的人访问其他人的简历

我有

  1. 禁用目录浏览
  2. 在 html 中创建虚假链接,然后在 .htaccess 中映射到另一个位置

..等等

只是想知道是否有一种方法可以完全隐藏出现在浏览器 url 中的文件名(可能带有 application/pdf 等标题并即时读取文件的内容)这可能还是有更好的方法,比如将它们存储在 MySQL 数据库中吗?

最佳答案

将文件存储在文档根目录之外(这样您的服务器默认情况下不会将 URL 映射到它)并使用脚本来确认经过身份验证的用户,然后仅将简历的内容流式传输给该用户。

例如……

<?php

session_start();

include 'app.php';

$userAuthenticated = (new Auth)->check($_SESSION['username']);

$file = isset($_GET['file']) ?
$_GET['file'] :
FALSE;

$file = FILES_PATH . DIRECTORY_SEPARATOR . preg_replace('/[^\w.]/', '', $file);

if ($userAuthenticated AND file_exists($file)) {
readfile($file);
} else {
header('HTTP/1.1 403 Forbidden');
echo 'You\'re not authenticated!';
}

这段代码应该给你大概的想法。

关于php - 服务器中的安全文件存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10792712/

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