gpt4 book ai didi

php - 如何安全地使用 file_get_contents?

转载 作者:行者123 更新时间:2023-12-04 14:42:16 35 4
gpt4 key购买 nike

我正在为我的博客的示例代码文件夹制作一个基本的 PHP 源代码查看器。

<?php

if (isset($_GET['file']))
{
header('Content-type: text/plain');
$filename = realpath($_GET['file']);
if (startsWith($filename, dirname(__FILE__)))
{
echo file_get_contents($filename);
}
}

function startsWith($haystack, $needle)
{
$length = strlen($needle);
return (substr($haystack, 0, $length) === $needle);
}

?>

我这里的内容是否足以让它永远不允许查看此脚本所在目录之外的文件或此脚本目录的子目录?我猜还有比 startsWith 更好的解决方案,用于检查路径是否是特定目录的后代?

最佳答案

这会很安全,是的。 realpath 部分是您必须做的,并且您正在做。这段代码可以正常工作。

关于php - 如何安全地使用 file_get_contents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6718494/

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