Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Регистрация пользователей

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

Tyman



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжая тему.
Допустим, есть файл индекс. В нем что-то вроде:

Код:
 
session_start();
информация
if ($_SESSION['auth']=='yes') то пишем добро пожаловать,
если нет, то форма авторизации, которая передает данные файлу login.php

Файл login.php

Код:
 
Получаем пароль и логин, сравниваем с тем что в базе, если все ок, то:
session_start();
$_SESSION['auth']=='yes', плюс записываем в массив $_SESSION id пользователя, если нет, все свободны

Вот, все работает, но допустим хочется, чтобы скрипт нас запоминал, тогда надо отсылать куки, во время признания правильности пароля, которые содержат id и хэш пароля... а если кто-то хочет подделать, запросто их подделает, как себя обезопасить?

Всего записей: 67 | Зарегистр. 11-11-2003 | Отправлено: 17:21 24-12-2004
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tyman

Цитата:
$_SESSION['auth']=='yes',  плюс записываем в массив $_SESSION id пользователя, если нет, все свободны  

во первых - просто =, а не ==

Цитата:
во время признания правильности пароля, которые содержат id и хэш пароля... а если кто-то хочет подделать, запросто их подделает, как себя обезопасить?

проверять IP, много еще чего.. как тут
http://forum.ru-board.com/topic.cgi?forum=31&topic=4606#1

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 00:02 25-12-2004 | Исправлено: Cheery, 00:03 25-12-2004
akuser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
К теме регистрации на стандартных сессиях -- сделал, но не знаю насколько она правильна и достаточно ли безопасна. При регистрации нового пользователя использовал md5 для записи пароля пользователя в базу.
 
Буду признателен за комментарии и исправленные ошибки.
 
Код проверки пользователя после при входе в систему:
 
if ($login && $password){
   $password = md5($password);
   $query = "select * from members where login='$login' and password=('$password')";
   $result = mysql_query($query);
   if (mysql_num_rows($result) >0){
      $valid_user = $login;
      session_register("valid_user");
   }else{
      echo "Пользователя с такими данными нет в систеие";
   }
}
 
if (session_is_registered("valid_user")){
// контент для зарегистрированного пользователя
}
 
На каждой странице для проверки залогинился пользователь или нет:
 
session_start();
if (!session_is_registered("valid_user")){
   header("Location: login.php");
} else if (session_is_registered("valid_user")){
   // контент для зарегистрированного пользователя
}
 

Всего записей: 25 | Зарегистр. 15-12-2004 | Отправлено: 01:44 25-01-2005
Skript

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здрасте еще раз!
я нашел 3 файла по этому поводу:
index.php:
<html>
 <head>
  <title>Введи пароль, смертный</title>
 </head>
 <body>
  <form action="authorize.php" method="post">
   Логин:<input type="text" name="user_name"><br>
   Пароль:<input type="password" name="user_pass"><br>
   <input type="submit" name="Submit">
  </form>
 </body>
</html>
authorize.php:
<?php
  $SERVER_ROOT = "http://localhost/test1/";
   if(eregi("^$SERVER_ROOT",$HTTP_REFERER)){
if($Submit){
if(($user_name=="cleo")&&($user_pass=="password")){
  $logged_user = $user_name;
  session_register("logged_user");
  header("Location: secretplace.php");
  exit;
}
}
  }
?>
<html><body>
  Вы ввели неверный пароль!
</body></html>
 
secretplace.php:
<?php
  unset($logged_user);
  session_start();
 session_register($logged_user);
   
  /*
 */
  if(!isset($logged_user)){
header("Location: index.php");
exit;
  }
?>
<html>
<body>
  Привет, <?php echo $logged_user; ?> ты на секретной странице!!!
</body>
</html>
И прошу ответить еще на 1 вопрос. Как сделать файл в котором хранятся пароли и Логины?
Прошу помочь

Всего записей: 27 | Зарегистр. 09-05-2006 | Отправлено: 14:20 10-05-2006
Brodyaga



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
To Cheery-не реклама, думаю будет полезно:
Вот собсно регистрация:
http://web-maste.ru/articles.php?c=4&s=2&a=39
Собираешь файл header.php:

Код:
 
<?php
error_reporting(0);
session_start();
function user_login_checks(){
if(session_is_registered("user_in_the_room"))
return true;
else
return false;
}
?>
 

берешь код файла register.php и authorize.php.Внизу статьи есть код защищенной странички.

----------
Damn Metal

Всего записей: 2713 | Зарегистр. 07-01-2006 | Отправлено: 14:51 10-05-2006
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Brodyaga, где вы такой антиквариат достаёте? С сессиями так уже давно не работают - http://phpfaq.ru/session

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 16:07 10-05-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Регистрация пользователей


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

Рейтинг.ru