簡體   English   中英

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頁面,並添加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/

如果那有道理...

有什么可以為我提供有關我要完成的任務的任何意見或建議嗎? 我不知道是否有可能從這里開始,但這似乎很簡單。

任何答復將不勝感激,謝謝!

我想您應該在頁面中每個鏈接的末尾附加類似

<?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中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM