Совет 1: Как сделать авторизацию

Нередко бывает, что необходимо разделять посетителей на желательных и нежелательных, и давать возможность видеть некоторые страницы сайта только тем, кто имеет логин и пароль. Как сделать это, например, на серверном скриптовом языке PHP?
Как сделать авторизацию?
Инструкция
1
Давайте организуем самый простой способ защиты страниц от неавторизованных посетителей. Носителем информации о том авторизован ли посетитель будут сессии. Сессия - это аналог кук в браузере, с той только разницей, что создаются они не у нас в компьютере, а на сервере. И используются они для того же, для чего и куки – для хранения разной информации о нас пока мы ходим от страницы к странице одного сайта. Когда мы закрываем браузер, то сервер уничтожает эту сессию, а при следующем нашем заходе создает новую. Этот серверный механизм мы и используем для того чтобы записывать в сессию авторизовался ли уже пользователь или нет. Читая эту информацию, когда посетитель запрашивает страницу, php-скрипт будет либо открывать доступ к запароленным страницам, либо предлагать ввести логин и пароль.

Шаг 1: Создаем страницу для ввода логина и пароля. HTML-код формы авторизации в самом простом варианте может выглядеть так:
<form action="" method="POST">

Логин: <input type="text" name="userName" /><br />

Пароль: <input type="password" name="userPass" /><br />

<input type="submit" name="submit" value="Войти" />

</form>
Сюда же (в самое начало файла) добавим php-код, который будет проверять правильность введенного посетителем логина и пароля. В его начале напишем:
session_start();
Эта команда стартует новую сессию, если ее еще не создано для этого посетителя.
Затем проверим, есть ли в сессии переменная с именем 'userName' - в ней будет храниться имя, если посетитель уже был авторизован. Если такая переменная есть - перенаправим посетителя на главную страницу (index.php) и закончим выполнение этого php-скрипта:
if($_SESSION['userName']){

header("Location: index.php");

exit;

}
Весь остальной код будет выполняться только если пользователь еще не ввел правильного логина и пароля. Укажем которые логин и пароль надо считать правильными:
$validName = 'Я свой!';

$validPass = 'секретный пароль';
Затем проверим - соответствуют ли отправленные из формы значения правильным. Поскольку в форме мы указали метод передачи данных POST, то и читать их следует из суперглобальной переменной $_POST:
if($_POST['userName'] == $validName && $_POST['userPass'] == $validPass) {

$_SESSION['userName'] = $validName;

header("Location: index.php");

exit;

}
Здесь код в фигурных скобках {} будет выполняться при правильных значениях логина и пароля. В строке $_SESSION['userName'] = $validName; ма записываем в сессию переменную с именем 'userName' содержащую логин теперь уже авторизованного пользователя. Это и будет метка о том, что доступ ему открыт повсюду до тех пор, пока действительна его текущая сессия.
А на случай если в форму введены неправильные данные добавим соответствующее сообщение:
else echo "<br />Логин или пароль неверны!<br />";
Весь код, который надо сохранить в файл с именем login.php будет выглядеть так:
<?php

session_start();
if($_SESSION['userName']){

header("Location: index.php");

exit;

}
$validName = 'Я свой!';

$validPass = 'секретный пароль';
if($_POST['userName'] == $validName && $_POST['userPass'] == $validPass) {

$_SESSION['userName'] = $validName;

header("Location: index.php");

exit;

}

else echo "<br />Логин или пароль неверны!<br />";

?>

<br />

<form action="" method="POST">

Логин: <input type="text" name="userName" /><br />

Пароль: <input type="password" name="userPass" /><br />

<input type="submit" name="submit" value="Войти" />

</form>
2
Шаг 2: Создаем блок авторизации - отдельный файл, который будет подключаться к каждой странице, нуждающейся в защите паролем. Этот файл будет содержать только php-код, поэтому расширение у него будет "php", а имя ему дадим по традиции для таких файлов - "auth", то есть "auth.php". И здесь тоже сразу после открывающего тега <?php должна идти инструкция стартовать сессию:
session_start();
Все переменные, которые хранятся в сессии, мы можем прочесть из суперглобального массива $_SESSION. Нам нужно проверить значение переменной "userName" - если посетитель еще не авторизовался, то ее не будет в массиве, и мы перенаправим его на страницу для ввода логина и пароля:
if(!$_SESSION['authorized']){

header("Location: login.php");

exit;

}

Весь код, который надо сохранить в файл auth.php будет выглядеть так:
<?php

session_start();
if(!$_SESSION['admin']){

header("Location: enter.php");

exit;

}

?>
3
Шаг 3: после того, как сохраним эти файлы на сервере, останется во все php-страницы, которые нужно защитить от неавторизованных пользователей подключить блок авторизации. То есть в самое начало каждого php-файла надо будет вставить этот код:

<?php

require "auth.php";

?>

А чтобы изменить пароль доступа нужно будет в файле login.php изменить значения этих переменных:

$validName = 'Я свой!';

$validPass = 'секретный пароль';

$validName - логин, $validPass - пароль.
Видео по теме
Обратите внимание
Разумеется, это очень упрощенный вариант авторизации, который можно использовать как защиту от нежелательных посетителей, но не от взломщиков. Более продвинутая система авторизации требует более углубленных знаний в области интернет-программирования.

Совет 2 : Как вставить регистрацию на сайте

Вся деятельность администратора сайта связана с популяризацией ресурса. А с помощью формы регистрации он ведет учет пользователей веб-ресурса и таким образом формирует статистику сайта. Зарегистрированные пользователи имеют ряд преимуществ, которые расширяют их возможности при посещении сайта.
Как вставить регистрацию на сайте
Инструкция
1
Решите, какой именно вы хотите создать сайт. Можно поставить специальный движок, на который будет установлен модуль, или просто написать веб-сайт гипертекстовой разметки. Практика показывает, что регистрация нужна для того, чтобы пользователи видели какие-либо параметры в системе ресурса, а также для общения на форуме. Если вы установите определенный движок, то потом сможете с легкостью управлять на интернет-ресурсе всеми этими категориями.
2
На хостинге установите движок под названием DLE. Для этого скопируйте необходимые файлы в корневой каталог. Затем произведите установку - перейдите по адресу site.ru/install.php. Так вы установите движок на ресурс, и все файлы начнут работать. На данном движке регистрация встроена по умолчанию. Зайдите в панель администратора для того, чтобы произвести ряд настроек. Это будет начальным этапом установки регистрации пользователей. Без хостинга и движка будет невозможно заставить работать веб-сайт.
3
Если вам нужно установить защиту от авторегистрации, то поставьте флажок рядом с пунктом «Включить капчу». После этого на экран в специальной строке станут выводиться различные цифры, которые надо будет указывать при регистрации. Если пользователь за несколько попыток не сможет ввести этот код, то его IP-адрес на некоторое время будет заблокирован.
4
Для установки модуля регистрации пользователей отыщите в интернете файл под названием registration.tpl. Такой файл вы можете создать и самостоятельно, если знаете языки веб-программирования. Зайдите на хостинг и откройте папку под названием templates. Выберите шаблон, установленный по умолчанию, и откройте его. Далее скопируйте файл registration.tpl в каталог, который открыт. Все изменения сохраните и перезапустите ресурс. В верхней части сайта добавится строка с надписью «Зарегистрировать пользователя».
Видео по теме

Совет 3 : Как ввести регистрацию на своем сайте

Процесс регистрации уже прочно вошел в жизнь интернет-пользователей и хорошо им знаком. Однако начинающие вебмастеры не всегда обладают необходимыми знаниями, чтобы установить такой знакомый модуль регистрации на свой собственный ресурс.
Как ввести регистрацию на своем сайте
Инструкция
1
Для начала установите сервер Apache на свой компьютер. Затем создайте на своем сайте такие файлы:
1) index.php — главная страница;
2) reg.php — регистрационная страница;
3) auth.php — авторизация;
4) userdb.db — список зарегистрированных пользователей.
2
Обозначьте структуру базы пользователей с параметрами login (имя), pass (кодовое слово или пароль), role (уровень доступа), name (название), info (информация). Для каждого пользователя будет создаваться своя строка вида user1%1-1%user_pas%1-1%user_role%1-1%user_name%1-1%user_info.
3
Создайте формы для регистрации и авторизации. Пример формы авторизации:
<form action=auth.php method=post>
<input type="text" name="login">
<input type="text" name="pass">
<input type="submit" value="Авторизация">.
4
Содержимое файла auth.php состоит из обычной формы, строк
<input type="text" name="login"><br>,
<input type="text" name="pass"><br>,
<input type="submit" value="Зайти"><br>,
<a href=reg.php>Регистрация</a> и других данных, более подробную информацию о которых можно найти на специализированных сайтах по программированию.
5
Далее прописывайте регистрационную форму — скрипт. Ниже идет часть скрипта:
$fp1=file("userdb.d");
foreach($fp1 as $key=>$value) {
$user=exploode("0-1%",$value);
if($_POST['login']==$user['1'] and md5($POST['pass'])==$user['2']) {
$us=0; ech "В базе такой пользователь уже существует";}
if($us!=1) {$fp=fopen("userdb.d", "a+");
$mytext=preg_replace("!\\r\\n!","
", $_POST['login']."%1-1%".md5$_POS.
6
Соедините все созданные странички в index.php. Пример того, что должно получиться:
<
7
После проведения вышеописанных манипуляций приступайте к тестированию регистрационной системы. Если все прошло удачно, в созданной базе данных появятся новые записи — зарегистрированные аккаунты.
Видео по теме
Совет полезен?
Поиск
Добавить комментарий к статье
Осталось символов: 500