Реализация авторизации

Только 1 пару логин/пароль надо? Или полноценную авторизацию? (Регистрация/Вход)

Если 1 пара (надо заинклудить на все страницы:(
PHP:
<?php

// Выставить свои логин / пароль. В кавычках! Кавычки не трогать!

$login = 'admin';
$password = 'AWd12w7d0&D)&@';

// Ниже не трогать!

$salt = 'AWd28d_SAJD_18w9dPJIUAWD)1789d';
$auth = false;
$message = '';
$form = <<<HTML
    <head>
        <meta charset="UTF-8">
        <title>Авторизация</title>
    </head>
    <body>
        <form action="" method="POST">
            {message}
            <center><b>Логин:</b></center>
            <center><input type="text" name="login" placeholder="Administrator" /></center>
            <center><b>Пароль:</b></center>
            <center><input type="password" name="passwd" placeholder="123456789" /></center>
        </form>
    </body>
HTML;

if($_SERVER['REQUEST_URI'] === '/') $auth = true;

if( isset($_POST['login'], $_POST['passwd']))
{
    if( $_POST['login'] === $login and $_POST['passwd'] === $password)
    {
        setcookie('admin', md5($salt.$login.$password), time()+1296000, '/', $_SERVER['HTTP_HOST'], false, true);
        $auth = true;
    }
    else
    {
        $message = '<center><b>Неверные логин или пароль</b></center>';
    }
}
elseif( isset($_COOKIE['admin']) and $_COOKIE['admin'] === md5($salt.$login.$password))
{
    $auth = true;
}

if( !$auth)
{
    die(str_replace('{message}', $message, $form));
}

Редиректы, много пользователей это уже долго
Спасибо за то, что потратили свое время. Регистрация не нужна, хотелось бы самому уже делать пользователям логины и пароли.

Сделал с горем пополам авторизацию, регистрацию и проверку авторизации пользователя которая после правильного ввода данных редиректит на страницу сайта.
Теперь стоит вопрос, как закрыть сайт, чтобы незарегистрированные пользователи попадали на авторизацию?

Есть страница в KVS, если туда вставить что-то, то данная функция будет отображаться на всех остальных страницах.
Теперь осталось реализовать данную функцию, чтобы перекидывало на авторизацию.
Попробовал простым редиректом, перекидывает на авторизацию, но когда заходишь, снова на авторизацию перекидывает.
 
Последнее редактирование модератором:
Попробуй использовать сессии. При загрузке страницы проверяй в сессии логин и пароль, а там уже делай что хочется. Хочешь показывай страницу, хочешь отправляй на авторизацию или просто показывай окошко с текстом.
 
Здравствуйте. Скажите, после авторизации как присоединить авторизованного пользователя к отправки личных сообщений, статей и многое другое - чтобы от имени данного пользователя получались сообщение?
 
@asklev через ID пользователя/сессии... Ты ж человека авторизовал, повесил ему некую куку => определил его ID. Дальше во всех действиях его указываешь...
 
@asklev через ID пользователя/сессии... Ты ж человека авторизовал, повесил ему некую куку => определил его ID. Дальше во всех действиях его указываешь...
А какой код для php для подключения к базе формы?
 
Смотря как ты юзера авторизовываешь. У меня есть ID юзера и Роли. Поэтому я проверяю достаточно просто:

PHP:
<?php
$model = Model_User();
$acl = $model->getUserRole();

if($acl>=2) {
что-то...
} else {
header("Location: 404");

?>

Внутри функции getUserRole я из сессии беру ID, проверяю роль..
 
Смотря как ты юзера авторизовываешь. У меня есть ID юзера и Роли. Поэтому я проверяю достаточно просто:

PHP:
<?php
$model = Model_User();
$acl = $model->getUserRole();

if($acl>=2) {
что-то...
} else {
header("Location: 404");

?>

Внутри функции getUserRole я из сессии беру ID, проверяю роль..
Я через логин подключаю
 
там разве не через сессии?
 
Назад
Сверху