gpt4 book ai didi

Php 包含安全性 - 使用数组和名称前缀

转载 作者:行者123 更新时间:2023-12-04 05:11:20 26 4
gpt4 key购买 nike

我现在正在自己学习 php,并且正在使用 php include 开发一些简单的网站来简化页面创建过程。
我已经在这个网站上搜索了使其安全的方法,但作为一个菜鸟,我总是害怕搞砸。

<?php
$siteArticles = array('instalacoes','galeria','regiao-e-historia','precos','contactos');
if( isset($_GET['page']) ){
if( in_array($_GET['page'], $siteArticles, true) && file_exists('pt/'.'rbs-article-'.$_GET['page'].'.php') ){
include('pt/'.'rbs-article-'.$_GET['page'].'.php');
}
}else{
include('pt/rbs-article-home.php');
}
?>

如您所见,它首先检查页面是否允许通过数组,然后向名称文件添加前缀。

我的问题是,这有多安全?

谢谢你的时间。

最佳答案

它是安全的。 in_array()检查是什么使它安全。不可能仅仅因为请求的页面必须与白名单数组中的元素之一完全匹配,就对该代码执行本地文件包含 (LFI) 攻击。

关于Php 包含安全性 - 使用数组和名称前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14893767/

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