PHP - Используйте GET для включения cms (выше веб-корня), как включить другие файлы из индекса cms? - PullRequest
0 голосов
/ 23 января 2012

Я пытаюсь скрыть приложение cms для своих веб-сайтов ...

Так что я решил добавить немного php к любой случайной странице на моем сайте, которая включает ссылку GET на некоторую случайную строку ..Таким образом, если вы перейдете на страницу x и добавите «RANDOMSTRING», индекс cms будет включенЭто хранится над корнем сети ... Вот кусочек 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/

Если это имеет смысл ...

Может ли кто-нибудь дать мне какие-либо комментарии или предложения относительно задачи, которую япытаюсь сделать?Я не уверен, возможно ли вообще начать с этого, но это кажется достаточно простым.

Буду признателен за любые ответы, спасибо!

1 Ответ

1 голос
/ 23 января 2012

Полагаю, вам следует добавлять в конце каждой ссылки на вашей странице что-то вроде

<?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, пока вы не закроете свой браузер.

...