PHP-使用GET包含cms(在web根目录之上),如何包含cms索引中的其他文件


PHP - Use GET to include cms (above web root), how to include other files from the cms index?

我正试图隐藏我的网站cms应用程序。。。

所以我想我会在我的网站上的任何随机页面上添加一点php,其中包括对一些随机字符串的GET引用。。。所以基本上,如果你转到x页面,然后添加?随机删除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 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中插入令牌。