【问题标题】:PHP - Use GET to include cms (above web root), how to include other files from the cms index?PHP - 使用 GET 包含 cms(高于 web 根目录),如何包含 cms 索引中的其他文件?
【发布时间】:2012-02-16 10:33:12
【问题描述】:

我正在尝试隐藏我的网站 cms 应用程序...

所以我想我会在我网站上的任何随机页面中添加一些 php,其中包括对一些随机字符串的 GET 引用......所以基本上,如果你转到 x 页面,并添加 ?RANDOMSTRING cms 索引已经包括了。这存储在 web 根目录之上...这是 php 的一部分:

if (isset($_GET['J7sd-H3sc9-As3R']))
{
require_once($docRoot . '/../../includes/admin/index.php');
}

基本上,index.php 被布置为具有 3 个字段集的页面。在 3 个字段集中是与处理各种任务的各种应用程序相关的各种链接。它们是通过与上述代码相同的方式访问的。并且它们被保存在 web 根目录中,并且能够通过 http 访问......

这一切都很好,但是当我尝试访问 cms 的任何特定部分时,问题就来了......所以本来会是什么:

http://www.mysite.com/admin/part/

现在:

include($_SERVER['DOCUMENT_ROOT'] . '/../../includes/admin/part/index.php');

或类似的东西......

所以现在当我去我的页面时

http://www.mysite.com/randomDirectory/

并添加:

http://www.mysite.com/randomDirectory/?J7sd-H3sc9-As3R

我被发送到我的 cms...酷...但是当我尝试单击任何部分时,我得到了这个标题:

http://www.mysite.com/randomDirectory/?part

页面刷新到:

http://www.mysite.com/randomDirectory/

如果有道理的话……

可以就我要完成的任务向我提供任何意见或建议吗?我不确定是否可以开始,但看起来很简单。

任何回复将不胜感激,谢谢!

【问题讨论】:

    标签: php root out


    【解决方案1】:

    我猜你应该在页面中每个链接的末尾附加类似的东西

    <?php if (isset($_GET['J7sd-H3sc9-As3R'])) echo '?J7sd-H3sc9-As3R'; ?>
    

    例子:

    http://www.mysite.com/randomDirectory/randomPage<?php if (isset($_GET['J7sd-H3sc9-As3R'])) echo '?J7sd-H3sc9-As3R'; ?>
    

    编辑

    更简单的方法是使用会话,以这种方式:

    <?php
    
    session_start();
    
    if (isset($_GET['J7sd-H3sc9-As3R']))
    {
        $_SESSION['token'] = 'J7sd-H3sc9-As3R';
    }
    
    if (!isset($_SESSION['token']) || $_SESSION['token'] !== 'J7sd-H3sc9-As3R')
    {
        exit;
    }
    
    // go on with your page
    
    ?>
    

    这样,当您在 url 中打开带有令牌的页面时,会话就会启动,并且令牌会保存在会话中,因此它应该可以工作而无需在每个 url 中插入令牌,直到您关闭浏览器。

    【讨论】:

    • 您好,感谢您的意见,您能详细说明一下吗?在您的示例中,您到底指的是什么,是标题位置吗?
    • 您应该将其添加到您的 cms 的每个链接中,这些链接应该将您引导到相同 cms 的另一个页面,所有“内部链接”。如果您在标题中有链接,那么是的,每个链接都在那里。我提供了另一种使它更容易的方法。 :)
    猜你喜欢
    • 2011-09-08
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多