0

我正在尝试隐藏我的网站 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 个字段集中是与处理各种任务的各种应用程序相关的各种链接。它们是通过与上述代码相同的方式访问的。它们被保存在网络根目录中,并且可以通过 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/

如果这有意义...

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

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

4

1 回答 1

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 中插入令牌,直到您关闭浏览器。

于 2012-01-23T01:01:04.187 回答