2012-01-22 34 views
0

我想隐藏我的网站cms应用程序...PHP - 使用GET包含cms(以上web根目录),如何包含cms索引中的其他文件?

所以我想我会添加一点的PHP到我的网站上的任何随机页面,其中包括GET参考一些随机字符串...所以基本上,如果你转到x页面,并添加?RANDOMSTRING包含cms索引。这存储上述web根...这里是php的peice的:

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/ 

如果是有道理的......

任何人都可以提供任何有关我正在尝试完成的任务的意见或建议吗?我不确定是否可以开始,但似乎很简单。

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

回答

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

+0

嗨,感谢您的输入,请您进一步详细阐述一下?在你的例子中,你指的是什么,是标题位置? –

+1

你应该添加到你的cms的每个链接,这应该引导你到相同的cms,所有'内部链接'的另一页。如果您只在标题中有链接,那么是的,每个链接都在那里。 我提供了另一种使它更容易的方法。 :) – entropid