2012-01-22 73 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