动态内容包括安全

<p>有没有什么办法可以安全地包括网页没有把他们都在一个数组? P&gt; 如果(的preg_match('/ ^ [A-Z0-9] + /“,$ _ GET ['页'])){ $页= $ _GET ['页']。“PHP。” $第三方物流= $ _GET ['页']。“HTML。” 如果(file_exists($页))包括:($页); 如果(file_exists($ TPL))包括:($ TPL); } PRE&gt; </p><p>我应该加入,使这个非常安全的? P&gt; </p><p>我做这种方式bacause我不喜欢有包括的东西,必须要包含到所有页面。该“包括标题&gt;内容&gt;包括页脚”往来港澳。我不希望使用任何模板引擎/框架也没有。 P&gt; </p><p>感谢。 P&gt;
</p>

98 浏览 1 回复
  gt   包括   没有   安全   一个  

回复

    <p>在当前实现的缺点是,... P&gt; </p><ol> <li>正则表达式只是测试字符串的开头,于是““会通过,而 li&gt; </li><li>在没有进一步的验证,““也将是有效的值,并会造成一个递归。 LI&gt; OL&gt; <p> P&gt; </p><hr/> P&gt; <p>为了让您实现安全的,这是一个很好的做法,把所有的东西,这是意在被包括在其自己的目录(如““ 和 ”“)。在此基础上,你只需要确保有没有办法走出这个目录中。 P&gt;</p><p>请注意: 返回绝对路径给出相对路径文件是否存在,并 除此以外。所以 是没有必要的。 P&gt; </p><p>尽管你说对不想要存放在数组中它很可能将是最好的,非分贝,解决方案可用页面的列表。 P&gt;</p><p>您可以轻松地动态地与任何数据库查询或阅读文件,甚至读取一个目录的内容,并筛选出的东西建立数组你不想用。 P&gt;
    </p></li></ol>

    方明

相关提问


友情链接: