Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Система авторизации

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Доступ к классам
Agassi
Отправлено: 16 Января, 2009 - 14:42:31
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Хотел узнать ваше мнение,может и новые идеи))

Я создаю систему авторизации с помошью глобальной переменой,пониммаю что это не безопасно.

Хотелось бы узнать,какие вы системы авторизации используете.

index.php
PHP:
скопировать код в буфер обмена
  1.  
  2. define("FROM_LOGINOUT", TRUE);
  3. require_once ("config.php");
  4. require_once ("db.php");
  5. тут поля логина и паролья.При нажатии вход.С файла конфиг берётся логин и пароль к базе и используя класс БД в файле db.php делает проверка на совпадение логина и паролья.
  6.  



db.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. if(!defined("FROM_LOGINOUT")) {
  4.         header("HTTP/1.0 404 Not Found");
  5.         die;
  6. }
  7.  
  8.  
  9. class MySql
  10. {
  11. .........
  12. }
  13. ?>
  14.  


config.php
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if(!defined("FROM_LOGINOUT")) {
  4.         header("HTTP/1.0 404 Not Found");
  5.         die;
  6. }
  7.  
  8. $dbhost =...
  9. $dbuser = ...
  10. $dbpass = ...
  11. $dbname = ...
  12.  
  13. ?>
  14.  



Хотелось бы узнать.Насколько Я отстал от новых вариантов авторизации.
Если есть свои разработкы,кинте куски кода..
 
 Top
E-Pro
Отправлено: 16 Января, 2009 - 14:49:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2008  
Откуда: Санкт-Петербург


Помог: 0 раз(а)




У меня лично такая система

PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3.         $mail2 = htmlspecialchars(trim(substr($_POST['email'], 0, 200)));
  4.         $pass2 = htmlspecialchars(trim(substr($_POST['pass'], 0, 25)));
  5.         $result = $db->sql_query("SELECT pid, mail, pass, regip FROM ".$prefix."_users WHERE mail='$mail2' AND pass='".md5($pass2)."'");
  6.        
  7.         if ($db->sql_numrows($result) != 1) $error = "Не правильно указаны данные";
  8.         list($pid, $mail, $pass, $regip) = $db->sql_fetchrow($result);
  9.         if (!$pid || $mail != $mail2 || $pass != md5($pass2)) $error = "Не правильно указаны данные";
  10.         if(!$mail || !$pass2){ $error = "Не введен E-mail или пароль";
  11.         if(!$error){
  12.         cookieset(...........);
  13.         Header("Location: index.php?type=profile");
  14.         }else{
  15.         login();
  16.         }
  17. ?>

(Отредактировано автором: 16 Января, 2009 - 14:51:13)

 
 Top
Agassi
Отправлено: 16 Января, 2009 - 14:54:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




Ты не понел меня.Человек прошол авторизацию.Это понятно.
Но в дальнешем как его проверить на то,что он авторизован или нет.
Просто используя в большом проэкте,чувстувую что она не сильно подходит для этого(

Что творится у тебя в этой функции
 
 Top
EuGen Администратор
Отправлено: 16 Января, 2009 - 14:56:17
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)






-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
E-Pro
Отправлено: 16 Января, 2009 - 14:58:22
Post Id



Частый гость


Покинул форум
Сообщений всего: 164
Дата рег-ции: Окт. 2008  
Откуда: Санкт-Петербург


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.                 <?
  2.                 function login(){
  3.                 global $error;
  4.                 if($error) msg("".$error."", 1);
  5.                  //Форма входа с посылкой данных на функцию в невидимом поле для проверки
  6.                  }
  7.                  ?>

(Добавление)
А проверку каждый пишет сам под себя как ему нужно. У меня работает как сессия + кука
 
 Top
Agassi
Отправлено: 16 Января, 2009 - 15:04:00
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




EuGen

Вчера читал о Сессиях,хотя там больше показывалось как заменять сесси а не зашишать их.Прошолся глазами,написано грамотно,вечером надо будет прочесть.
 
 Top
Stierus Супермодератор
Отправлено: 16 Января, 2009 - 16:21:31
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




защищать сессии от чего ?
 
My status
 Top
Agassi
Отправлено: 16 Января, 2009 - 16:50:08
Post Id



Частый гость


Покинул форум
Сообщений всего: 158
Дата рег-ции: Окт. 2008  


Помог: 0 раз(а)




tierus
Проглянь силкы,которые кинул EuGen,думаю понятно будет
 
 Top
Гость
Отправлено: 17 Января, 2009 - 12:53:16
Post Id


УДАЛЁН










а сессионную переменную можно передать в заголовке?
 
 Top
CodeWarrior
Отправлено: 18 Января, 2009 - 23:36:58
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2009  
Откуда: Албания


Помог: 0 раз(а)




Agassi пишет:
Но в дальнешем как его проверить на то,что он авторизован или нет.

После регистрации (занесения данных в базу и инициализации куки и массива $_SESSION) нужно просто проверять актуальность данных занесенных в куки и $_SESSION. Например, если установлено время жизни сессии, то проверить истекло ли оно. Можно также проверять изменения по IP, если сменил браузер и другие данные. Механизм проверки и авторизации у всех разный. Кто-то использует только сессии (которые дивут пока не закрыт браузер), кто-то куки, а кто-то и то и другое...
Цитата:
а сессионную переменную можно передать в заголовке?

Говорят что это не безопастно...
 
 Top
Stierus Супермодератор
Отправлено: 19 Января, 2009 - 09:01:04
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Цитата:
tierus
Проглянь силкы,которые кинул EuGen,думаю понятно будет

Я знаю, как они работают, читать 30 страниц текста что бы понять одну твою фразу - нет желания, можно вкратце, что беспокоит ?Улыбка
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB