gpt4 book ai didi

php - 在 .htaccess 文件中设置 open_basedir 会完全限制 PHP 脚本目录访问吗?

转载 作者:搜寻专家 更新时间:2023-10-31 21:10:52 26 4
gpt4 key购买 nike

我的 PHP 脚本使用 $_POST['fileUrl'];为用户检索文件,我认为这会构成安全威胁,因为任何人都可以将“../../”等附加到 fileUrl 以访问我服务器上的其他文件。

我需要找到最好(最安全)的方法来限制我的脚本可以访问特定目录的文件。从我读到的内容来看,设置 open_basedir 标志将限制我的脚本对指定路径的访问。

脚本文件

$fileUrl = $_POST['fileUrl'];
$content = chunk_split(base64_encode(file_get_contents($fileUrl)));

.htaccess

php_flag open_basedir  "var/www/vhosts/mydomain.com/php_can_only_access_files_in_this_directory/"

有更好的方法吗?此脚本是否完全安全,无法访问 open_basedir 之外的文件夹?

最佳答案

如果您想通过在文件名中使用 ../../来避免人们执行目录遍历攻击,您最好在用户提供的输入上调用 basename 以将其剥离为仅文件名。

参见 http://au2.php.net/basename了解更多详情。

值得注意的是,open_basedir 标志只影响检查它的函数,过去有几个 php 函数忽略 open_basedir 标志的情况,特别是在 imagemagick 等扩展中。因此,您应该依靠安全编码实践和文件权限来限制对文件的访问。

关于php - 在 .htaccess 文件中设置 open_basedir 会完全限制 PHP 脚本目录访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19693574/

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