有人可以告诉我以下代码做什么,在安全方面有什么问题?
< ?php require_once '../include/' . $_GET['file']?>
我认为这个_get ['file']会得到一个参数,我猜想包含在库中?我不确定,也不确定此代码中的问题。
这允许客户端使网络服务器几乎在服务器上执行任何PHP脚本。他们甚至可以通过在参数中加入自己的../
序列来执行../include
目录之外的文件,例如
yourscript.php?file=../../../somescript.php
这将执行
require_once("../include/../../../somescript.php");
等效于
require_once("../../somescript.php");