Я делаю веб-сайт и хочу, чтобы многие страницы веб-сайта были недоступны, если вы не войдете в систему, например Facebook или службы электронной почты.
Это будет потоковый веб-сайт, управляемый базой данных, поэтому он должен быть гибким, поэтому об использовании процессов .htaccess и CGI не может быть и речи.
Я слышал, что есть менеджеры CMS, но они берут на себя все, и вы ничего не можете сделать, кроме как через них, чего я не хочу … поэтому я немного подумал и нашел способ проверить сервер для входа в систему, если вход не найден, отправляет его на другую страницу.
этот код peusedo должен облегчить понимание:
<?php
session_start();
if ($_SESSION["islogged"] == no)
{ load some data and block some OR go to login page; }
?>
но веб-сайт будет взимать плату за услуги, и я не хочу рисковать утечками, эта идея была моей, и я не мог найти что-либо в Интернете, чтобы помочь мне с этим, и я не уверен, возможно ли создать поддельная сессия … я планирую зашифровать детали сессии в любом случае, но некоторые факты здесь помогут.
Что мне нужно знать, это:
Один из способов сделать это — установить пользовательскую переменную для реального пользователя из базы данных.
Поэтому, когда пользователь входит в систему
$_SESSION['user'] = $_user_record_from_database;
if($_SESSION['user']){
//Do user logged in stuff
}else{
//Do user not logged in stuff
}
//To log a user out just set $_SESSION['user'] = NULL
Если они не вошли в систему и вы зашифровываете сеансы, когда они вошли в систему, похоже, это будет довольно безопасно.
Тем не менее, я бы на самом деле предложил другой подход все вместе. Я знаю, что вы избегали платформ CMS из-за их контроля, но я бы предложил WordPress для этого. Вы можете создавать свои собственные плагины, и с помощью шорткодов делать все виды магии на страницах, и просто позволяйте WP обрабатывать, вошли они в систему или нет, и ваши плагины могут использовать функцию WP is logged in, чтобы показать или не показать вещи. Это дает вам полный контроль, вы даже можете создать свою собственную форму для регистрации и вызвать функцию регистрации WP-пользователя, если хотите.