У меня есть php-скрипт, который генерирует RSS-канал, но я хочу, чтобы он был доступен только администраторам.В настоящее время я использую этот метод
if($_SESSION['isAdmin'] != true) {
$_SESSION['sessionErrors'][] = "Sorry, you are not allowed access the page 'Update RSS Feed'";
header("Location: /");
}
Он работает на других страницах, но по какой-то причине он здесь не работает.
Я хочу, чтобы эта страница подтверждала, что пользователь является администратором ($_SESSION['isAdmin] == true
), запустите скрипт обновления файла RSS, перенаправьте обратно на обычную страницу admin
.
Вот основной скелет страницы.Я удалил все вещи, которые не имеют значения
<?php
if($_SESSION['isAdmin'] != true) {
$_SESSION['sessionErrors'][] = "Sorry, you are not allowed access the page 'Update RSS Feed'";
header("Location: /");
}
$file = fopen('rss.xml', "w") or die("Unable to open file");
try {
// Connect to db
$conn = new PDO("mysql:host=" . SERVERNAME . ";" . "dbname=" . DBNAME, USERNAME, PASSWORD);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $conn->query('SELECT * FROM * ORDER BY upload_date DESC ');
$result = $query->fetchAll(PDO::FETCH_OBJ);
$rssfeed = 'This gets set based on what the db returns';
} catch (PDOException $e) {
echo $e->getMessage();
}
fwrite($file, $rssfeed);
fclose($file);
header("Location: /admin.php");
В моем тестировании, когда я не вошел в систему, он все еще выполняет сценарий (генерирующий файл rss.xml), а затем перенаправляет меня обратно настраница администратора.Который я не вошел в систему, так что перенаправляет меня обратно на /
с ошибкой, говоря, что мне не разрешен доступ admin.php