我想要一个文件夹,我们称之为文档,其中包含登录用户可以下载的文档。这些包含非常敏感的信息。如何才能最好地保护该文件夹。我有 PHP 背景,所以想知道我是否忽略了任何事情。
我将使用 .htaccess 保护该文件夹,并且当用户单击下载时,他们永远不会显示该文件夹。通过 php 删除文件夹名称强制下载。
当然,为了保护用户区域,我对所有输入字段实施卫生和验证,并注意 SQL 注入。使用 SSL 连接。关闭所有 php 警告。安全区域使用 SESSION 变量来控制访问并重新验证用户是否执行特殊任务(例如更改密码)。加上 10 分钟的超时功能,之后用户必须重新输入详细信息。
我试图尽可能彻底,所以任何建议,无论多小,都会受到欢迎。
将文件放在 webroot 之外。然后使用 PHP 通过脚本传递文件。这样一来,任何人都无法直接链接到该文件并绕过您的控制。 (当然,请确保只有在验证用户有权检索该文件后才执行此操作的脚本)。
PHP 示例:
<?php
if (!isset($_SESSION['authenticated'])) {
exit;
}
$file = '/path/to/file/outside/www/secret.pdf';
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)