Нужна помощь по сессиям - от А до Я - Веб-программирование | MMGP
Присоединяйтесь к нашему инвестиционному форуму, на котором уже 434,638 пользователей. Чтобы получить доступ ко многим закрытым разделам и начать общение -  .
Вход через:  
Все, что относится к Web-Программированию (PHP, Perl, JavaScript, MySQL, XML и т.д.)
При поддержке
Сеть доставки контента, выбранная космическими агентствами
Важная информация
Есть опыт работы с криптовалютами? Заведи Крипто-Блог и заработай на нём!
Торгуешь криптовалютой? Оставь свой отзыв о бирже!
Разбираешься в криптовалюте? Прими участие в акции Крипторайтер 2.0 (2-10 поинтов за 1000 символов)
Изменения в акции "Оплата за сообщения".
Как на одной публикации заработать $100
Ответить
 
Первый пост Опции темы
Сообщения прочитаны и/или просмотрены Сегодня, 06:54
Старый 15.10.2015, 14:31
#1
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Нужна помощь по сессиям - от А до Я

Пишу небольшой проект, нужна помощь по сессиям.
Часть первая:
Главная имеет обычный код, просто форма для авторизации:
PHP код:
<html>
<head>
<title>Админка</title>
</head>

<body>

<?
echo '<form action="logh.php" method="post">
Введите логин: <input type="text" name="login"><br>
Ваш пароль: <input type="password" name="pass"><br>
<input type="submit" value="Вход в админку"></form>'
;

?>

</body>
</html>
Дальше страница logh.php, которая проверяет пароль. Например, логин и пароль admin:
PHP код:
<?
session_start
();
?>
<html>
<head><meta charset="utf-8"><title>Админка </title>

</head>

<body>
<?
$loger
=$_POST['login'];
$para=$_POST['para'];

if (
$loger=='admin' && $pass=="admin"){
$_SESSION['Login'] = 'YES';
echo 
'что попало';
} else {
$_SESSION['Login']="NO";
echo 
'не вошел. закрытая зона. ЧТобы войти <a href="index.php">вернитесь на главную</a>';
}
?>
</body>
</html>
И вот вопросы:
1) правильно ли я делаю session_start(); ?
2) правильный ли алгоритм проверки логина/пароля?

Все работает, но может подскажите на начальном этапе что не так? Спасибо.

p.s. Часть первая, потому что по мере написания проекта вопросы будут возникать и дальше
An27 вне форума  
Старый 09.11.2015, 19:16
#2
Заблокированный
 
Имя: Антон
Пол: Мужской
Адрес: Казань
Инвестирую в: Стартапы
Регистрация: 16.10.2015
Сообщений: 43
Благодарностей: 5
УГ: 0
КП: 0.000
Re: Нужна помощь по сессиям - от А до Я

Тут походу нет никого...
Баннер: {{ slide.title }}
teslatoy вне форума  
Старый 12.11.2015, 17:51
#3
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Автор темы Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от teslatoy Посмотреть сообщение
Тут походу нет никого
видимо так и есть, либо просто дают нам самим думать
An27 вне форума  
Старый 17.11.2015, 02:07
#4
Заблокированный
 
Имя: Антон
Пол: Мужской
Адрес: Казань
Инвестирую в: Стартапы
Регистрация: 16.10.2015
Сообщений: 43
Благодарностей: 5
УГ: 0
КП: 0.000
Re: Нужна помощь по сессиям - от А до Я

народ, если кто шарит, помогите пожалуйта советом, застрял:
Проблема: авторизация на сайте срабатывает, перекидывает на поддомен, на нем сессия сохраняется, а на сайте исчезает

.htaccess сайта содержит строки:
RewriteCond %{HTTP_HOST} ^www.site.com
RewriteRule (.*) http://site.com/$1 [R=301,L]
<IfModule mod_rewrite.c>
php_value session.cookie_domain ".site.com"
</IfModule>

.htaccess поддомена содержит строки:
<IfModule mod_php5.c>
RewriteCond %{HTTP_HOST} ^my.site.com
RewriteRule (.*) http://my.site.com/$1 [R=301,L]
</IfModule>
php_value session.cookie_domain ".site.com"

сайт на битриксе, кабинет на поддомене - самописный

в битриксе стоят галки в настройках модулей:
Распространять куки на все домены:
Использовать защищенное хранение авторизации в cookies:
Распространять авторизацию на все домены:

в настройах сайта указаны доменные имена:
site.com
my.site.com
Баннер: {{ slide.title }}
teslatoy вне форума  
Старый 17.11.2015, 08:05
#5
Модератор
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 14.12.2006
Сообщений: 4,231
Благодарностей: 3,800
УГ: 1
подарки
награды Ветеран MMGP.RU Волшебный горшочек 
Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от An27 Посмотреть сообщение
:
1) правильно ли я делаю session_start(); ?
2) правильный ли алгоритм проверки логина/пароля?
1. правильно.
2. неправильно.


Цитата:
Сообщение от teslatoy Посмотреть сообщение
Проблема: авторизация на сайте срабатывает, перекидывает на поддомен, на нем сессия сохраняется, а на сайте исчезает
изучите детали самой куки, которая создается.
странно, что битрикс её создает и сам не видит.

попробуйте убрать ваши настройки из хтацесса - пускай битрикс сам делает обработку. должен бы уметь.
dkameleon вне форума  
Сказали спасибо 2 раз(а):
An27 (17.11.2015), teslatoy (17.11.2015)
Старый 17.11.2015, 14:49
#6
Заблокированный
 
Имя: Антон
Пол: Мужской
Адрес: Казань
Инвестирую в: Стартапы
Регистрация: 16.10.2015
Сообщений: 43
Благодарностей: 5
УГ: 0
КП: 0.000
Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от dkameleon Посмотреть сообщение

изучите детали самой куки, которая создается.
странно, что битрикс её создает и сам не видит.

попробуйте убрать ваши настройки из хтацесса - пускай битрикс сам делает обработку. должен бы уметь.
Спасибо большое, буду пробовать.
Баннер: {{ slide.title }}
teslatoy вне форума  
Старый 17.11.2015, 19:00
#7
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Автор темы Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от dkameleon Посмотреть сообщение
2. неправильно.
Пускай даже если с базы тяну. Дело не в этом.
А сам алгоритм. Сверяю логин и пароль - и если они совпадают: пускаю, если нет - не пускаю.
Проблема в условии (if ($loger=='admin' && $pass=="admin")) или в $_SESSION['Login']?

Спасибо.
An27 вне форума  
Старый 17.11.2015, 22:03
#8
Модератор
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 14.12.2006
Сообщений: 4,231
Благодарностей: 3,800
УГ: 1
подарки
награды Ветеран MMGP.RU Волшебный горшочек 
Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от An27 Посмотреть сообщение
Проблема в условии (if ($loger=='admin' && $pass=="admin")) или в $_SESSION['Login']?
если просто открыть страницу без отпраки логина и пароля - авторизация будет сброшена.
dkameleon вне форума  
Старый 18.11.2015, 19:30
#9
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Автор темы Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от dkameleon Посмотреть сообщение
авторизация будет сброшена.
Да, замечал такую проблему. Нужно алгоритм (если авторизированный) в начале страницы помещать, после session_start?
An27 вне форума  
Старый 19.11.2015, 19:03
#10
Модератор
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 14.12.2006
Сообщений: 4,231
Благодарностей: 3,800
УГ: 1
подарки
награды Ветеран MMGP.RU Волшебный горшочек 
Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от An27 Посмотреть сообщение
Да, замечал такую проблему. Нужно алгоритм (если авторизированный) в начале страницы помещать, после session_start?
нужно проверять, что происходит ПОСТ запрос
dkameleon вне форума  
Старый 01.12.2015, 19:28
#11
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Автор темы Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от dkameleon Посмотреть сообщение
что происходит ПОСТ запрос
а можете подробнее? Сейчас опять взялся за проект, не могу понять о чем речь идет. Спасибо
An27 вне форума  
Старый 01.12.2015, 20:09
#12
Заблокированный
 
Пол: Мужской
Инвестирую в: Форекс
Регистрация: 10.12.2012
Сообщений: 286
Благодарностей: 124
УГ: 0
КП: 0.000
Re: Нужна помощь по сессиям - от А до Я

Не мешало бы проверять POST переменные на isset, на поздних версиях php это уже вроде как обязалово.

- а ещё значение переменной $pass не присвоено, нужно поменять $para=$_POST['para']; на $pass=md5($_POST['para']);

- и конечно пароли лучше хранить в хеше

<?

if (isset($_POST['login']) && isset($_POST['para'])){

$loger=$_POST['login'];
$para=md5($_POST['para']);

if ($loger=='admin' && $pass=="admin"){
$_SESSION['Login'] = 'YES';
echo 'что попало';
} else {
$_SESSION['Login']="NO";
echo 'не вошел. закрытая зона. ЧТобы войти <a href="index.php">вернитесь на главную</a>';
}
}
?>
Баннер: {{ slide.title }}

Последний раз редактировалось ARRAY97; 01.12.2015 в 23:28.
ARRAY97 вне форума  
Старый 03.12.2015, 01:16
#13
Модератор
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 14.12.2006
Сообщений: 4,231
Благодарностей: 3,800
УГ: 1
подарки
награды Ветеран MMGP.RU Волшебный горшочек 
Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от An27 Посмотреть сообщение
а можете подробнее? Сейчас опять взялся за проект, не могу понять о чем речь идет. Спасибо
$_SERVER['REQUEST_METHOD'] == 'POST'
dkameleon вне форума  
Старый 05.12.2015, 03:17
#14
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Автор темы Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от dkameleon Посмотреть сообщение
REQUEST_METHOD
Извините за вопрос, но где должен быть этот код? То есть строка проверки алгоритма? На странице проверки данных логина/пароля, на всех страницах, где есть сессии? И еще, до начала сессий, или после:
Код:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo 'скрытый текст кабинета';
}
An27 вне форума  
Старый 05.12.2015, 17:03
#15
Модератор
 
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 14.12.2006
Сообщений: 4,231
Благодарностей: 3,800
УГ: 1
подарки
награды Ветеран MMGP.RU Волшебный горшочек 
Re: Нужна помощь по сессиям - от А до Я

PHP код:
 <?
session_start
();
?>
<html>
<head><meta charset="utf-8"><title>Админка </title>

</head>

<body>
<?
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$loger=$_POST['login'];
$para=$_POST['para'];

if (
$loger=='admin' && $pass=="admin"){
$_SESSION['Login'] = 'YES';
echo 
'что попало';
} else {
$_SESSION['Login']="NO";
echo 
'не вошел. закрытая зона. ЧТобы войти <a href="index.php">вернитесь на главную</a>';
}
}

if (
$_SESSION['Login'] == 'YES') {
echo 
'здесь выводим админку';
}
?>
</body>
</html>
приблизительно так.
dkameleon вне форума  
Сказали спасибо:
An27 (06.12.2015)
Старый 06.12.2015, 00:53
#16
Мастер
 
Имя: Андрей
Пол: Мужской
Инвестирую в: Свой бизнес
Регистрация: 03.07.2010
Сообщений: 1,716
Благодарностей: 588
Записей в блоге: 1
УГ: 0
КП: 0.361
Автор темы Re: Нужна помощь по сессиям - от А до Я

Цитата:
Сообщение от dkameleon Посмотреть сообщение
приблизительно
Спасибо, то есть ПОСТ запрос нужно проверить один раз, а потом просто
if ($_SESSION['Login'] == 'YES'), то выводить другую скрытую инфу, так?
An27 вне форума  
Ответить
Войдите, чтобы оставить комментарий.
Сообщения прочитаны и/или просмотрены Сегодня, 06:54
Опции темы

Быстрый переход
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна помощь Ray'D Букмекерство: общий форум 5 12.01.2015 11:29
Нужна помощь Дмитрулин Веб-программирование 4 11.04.2013 15:45
нужна прога, нужна помощь Alexander Вопросы по маркетингу от новичков 8 27.03.2011 20:46
Нужна помощь в IPB Riphas Сайтостроение: общий форум 0 01.06.2009 13:54


Случайные темы
Аватара нет
В 2016г. половина смартфонов будут поддерживать NFC
От CashToday в разделе «Новости в мире финансов и инвестиций»
Аватара нет
Bill Adams, Val Baur - Опционы - itg-direct.com
От ITG Broker в разделе «Архив: Доверительное управление»
Аватар BiziAlen
[ICO] STORM 15.08.17 – 14.09. 2017
От BiziAlen в разделе «Завершенные и отмененные ICO»
Аватар TTLuck2017
Стартап Green&Co собирает $5 000 долларов на Indiegogo для приложения-диагноста
От TTLuck2017 в разделе «Новости в мире финансов и инвестиций»
Аватар Bayan4eg
Национальный банк решил продавать валюту только "Нафтогазу"
От Bayan4eg в разделе «Новости в мире финансов и инвестиций»
Аватар СпанчБоб
Глава МЭА заявил о второй волне сланцевой революции в США
От СпанчБоб в разделе «Новости в мире финансов и инвестиций»
.     
Пользователей
434,638
Тем
504,305
Сообщений
12,661,183

mmgp.telegram