本文介绍了在 PHP 中清理文件路径的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我希望使我的小程序安全,以便潜在的恶意用户无法查看服务器上的敏感文件.

Greetings,I'm hoping to make my tiny program secure so that potential malicious users cannot view sensitive files on the server.

    $path = "/home/gsmcms/public_html/central/app/webroot/{$_GET['file']}";


    if(file_exists($path)) {
        echo file_get_contents($path);
    } else {
        header('HTTP/1.1 404 Not Found');
    }

我知道像../../../../../../etc/passwd"这样的输入会很麻烦,但想知道我应该做哪些其他恶意输入期望以及如何防止它们.

Off the top of my head I know that input such as '../../../../../../etc/passwd' would be trouble, but wondering what other malcious inputs I should expect and how to prevent them.

推荐答案

realpath() 将让您将任何可能包含相对信息的路径转换为绝对路径...然后您可以确保该路径位于您希望允许下载的某个子目录下.

realpath() will let you convert any path that may contain relative information into an absolute path...you can then ensure that path is under a certain subdirectory that you want to allow downloads from.

这篇关于在 PHP 中清理文件路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 06:56