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]   

> Описание: проверка сессий
Wooorker
Отправлено: 12 Марта, 2014 - 07:46:15
Post Id



Гость


Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2011  


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




Добрый день, господа!
Подскажите, пожалуйста, насколько безопасен такой метод защиты от "нежелательного" открытия страницы "нежелательными" людьми:
1. есть index.php где в начале уничтожаем сессию, далее два поля логин и пароль и субмит
2. есть file.php куда попадем по субмиту, в нем проверяем наличие $Post['название субмита']
далее ищем в бд mysql mysql_real_escape_string(логин, пароль), проверяем хэш md5 с солью; если всё совпадает -
PHP:
скопировать код в буфер обмена
  1.              session_start();
  2.               $_SESSION['своя переменная']='значение своей переменной';
  3.  

и инклюдом подключаем горизонтальное меню на css с чистым окном под ним
3. когда в меню выбираем нужную ссылку, то топаем в нужный php файл, в каждом из которых в начале идёт проверка
PHP:
скопировать код в буфер обмена
  1.     session_start();
  2.     if (!isset($_SESSION['своя переменная'])) exit();
  3.     session_start();
  4.     if ($_SESSION['своя переменная']!=='значение своей перменной') exit();
  5.     include 'menu.php';

а далее под менюшкой выводим всё что нам надо.
4. При нажатии в меню выход, переходим на index.php, где, как я писал выше, происходит очистка сессии.
 
 Top
lastdays
Отправлено: 12 Марта, 2014 - 10:25:33
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


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




Что - то не особо понятно, что есть защита.
Вы просто создали переменную при авторизации записав её в сессию, на следующий странице сверили данные, нет её - exit.

Зачем два раза стартовать сессию (на одной странице)?

Лично я для фильтра использую регулярки, лучше за ранее исключить абсолютно все, что не нужно, ограничив и длину.
 
 Top
esterio
Отправлено: 12 Марта, 2014 - 13:39:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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





lastdays пишет:
Лично я для фильтра использую регулярки

filter_var


Wooorker
Нет код плох, ничево собственно умного не делает.
П.С. извиняюсь за прямоту
 
 Top
Wooorker
Отправлено: 12 Марта, 2014 - 20:05:59
Post Id



Гость


Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2011  


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




esterio пишет:

lastdays пишет:
Лично я для фильтра использую регулярки

filter_var


Wooorker
Нет код плох, ничево собственно умного не делает.
П.С. извиняюсь за прямоту


Т. е. эту защиту легко обойти? Тогда подскажите, хотя бы что ещё добавить при проверке каждой страницей сайта, что она открыта авторизованным пользователем? Что на каждой странице хэш пароля пользователя проверять чтоли?
 
 Top
Wooorker
Отправлено: 13 Марта, 2014 - 13:01:38
Post Id



Гость


Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2011  


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




Таки никто не подскажет?
 
 Top
lastdays
Отправлено: 13 Марта, 2014 - 13:20:13
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


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




А что вам подсказать то? стандартный подход.
Авторизация -> запись сессии -> переход на след страницу и проверка существовании сессии.
 
 Top
Wooorker
Отправлено: 13 Марта, 2014 - 13:26:50
Post Id



Гость


Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2011  


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




lastdays пишет:
А что вам подсказать то? стандартный подход.
Авторизация -> запись сессии -> переход на след страницу и проверка существовании сессии.

Так и не понял. Предыдущие комментарии говорят, что всё плохо, а как хорошо - неизвестно.
Вы говорите, что у меня стандартный подход. Т. е. всё-таки всё хорошо?
Я в курсе, что можно добавить время существования сессии, писать куки, проверять ip отправителя запроса. Если мой подход правильный, то мне только остаётся добавить все эти полезности и больше не париться по поводу безопасности?
 
 Top
lastdays
Отправлено: 13 Марта, 2014 - 13:33:01
Post Id



Частый гость


Покинул форум
Сообщений всего: 221
Дата рег-ции: Март 2013  


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




Нет.
Юзать ssl ( http://ru[dot]wikipedia[dot]org/wiki/SSL )
Усложнить требования к паролю
Предложить пользователю использование второго пароля.
Шифровать пароль необычным способом в виде стандартного md5, но и с солью.
Установить время жизни, да.
Я бы ещё записывал сессию в бд и время входа, чтоб с двух разных тачках не сидели.
При неправильно введенном пароле блокировал бы аккаунт.

По желанию, что и как хотите, так и делайте.

з.ы. в самом первом моем ответе , вы неправильно поняли меня.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB