Я пытаюсь создать довольно простой, но эффективный режим обслуживания на нашем сайте. Способ, которым должна работать эта функция, заключается в том, что пользователь приземляется на любую страницу на сайте, за исключением
https://www.ourbusiness.org/assets/home2.do/unlock-maintenance
иhttps://www.ourbusiness.org/legal/all
функцияheader()
запустит и перенаправит пользователя наhttps://www.ourbusiness.org/error/offline/
. Я видел другие вопросы, особенно this one, но в этом я думал, что это можно улучшить; добавив такое небольшое количество кода.Веб-сайт Режим обслуживания
Так первый отсюда наш config.php
файл:
Config.Run.php:
<?php
define("URL", "https://www.ourbusiness.org");
define("MAINTENANCE", "1");
if(MAINTENANCE == 1) {
if(!isset($_SESSION['MAINTENANCE_UNLOCK'])) {
header("Location: ".URL."/error/offline/");
}
}
разблокировке-maintenance.php
<?php
include "Config.Run.php";
session_start();
if(isset($_POST)) {
if($_POST['username'] == "admin" && $_POST['password'] == "admin") {
$_SESSION['MAINTENANCE_UNLOCK'] = md5($_POST['username'].$_POST['password']);
header("Location: ".URL."");
}
}
?>
<form action="" method="post">
<h1>You are not logged in</h1>
<b>Username: </b><input type="text" name="username" />
<b>Password: </b><input type="password" name="password" />
<input type="text" value="Unlock <?php echo TITLE; ?>" />
</form>
Почему Безразлично Эта работа? Я даже не могу получить доступ к файлу, чтобы разблокировать сайт, ни любой из страниц внутри каталога legal
Вы звоните 'session_start()' после того, как включая файл php, который пытается использовать сеанс для одной вещи. Другое дело - каждый пользователь будет иметь свой собственный сеанс, не должен «разблокировать» обслуживание глобальным, то есть не основанным на сеансах в первую очередь? –
@JamesThorpe Настройка обслуживания является глобальной, она контролируется конструкцией 'ТЕХНИЧЕСКОЕ ОБСЛУЖИВАНИЕ'.Переменная сеанса позволяет пользователю переопределить параметр только для себя (например, администратор сайта). – Dai
'md5 ($ _ POST ['username']' lordie, не используйте это, а не для хранения паролей. Может быть, ....... возможно, возможно, только в 1992 году в течение первого месяца или около того. –