Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2011, 23:27   #1
slm
Пользователь
 
Регистрация: 09.05.2008
Сообщений: 40
По умолчанию PHP+MySQL - как грамотно сделать?

Есть скрипт php, который получает $login и $password и, как обычно, либо регистрирует пользователя в базе MySQL, либо проверяет существует ли пользователь и совпадает ли пароль. Ситуация стандартная и проблем не вызывает.
Вопрос в другом...
Как правильно на стороне клиента после удачного входа в систему реализуется изменение его персональных данных, то есть доступ пользователя к своей строке в базе данных?
Я так понимаю, что надо сохранить со стороны клиента его логин и пароль в некоторой переменной и постоянно передавать другому скрипту php на сервере, который уже изменяет БД.
Но правильно ли это? Это же один и тот же клиент постоянно подключается к БД, т.е. увеличивается число подключений к БД или нет?

P.S. Камнями не кидать - я учусь...
slm вне форума Ответить с цитированием
Старый 12.01.2011, 00:07   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Почитайте про сессии. Суть в том, что логин и пароль сохраняются не у клиента, а в некотором файле на сервере, а клиенту автоматически посылается кука с идентификатором этого файла, либо же этот идентификатор просто добавляется ко всем ссылкам. Конечно, куку с идентификатором тоже можно перехватить, и использовать для несанкционированного доступа, но от этого можно сверять IP, и так в общем-то до бесконечности
По поводу подключений к БД - это больше зависит от способа установки связи с БД. Если грамотно организовать (постоянные соединения, применение модели Singleton) то будет лишь каждый раз новый запрос, а этим можно пожертвовать ради аутентификации
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 12.01.2011, 00:18   #3
slm
Пользователь
 
Регистрация: 09.05.2008
Сообщений: 40
По умолчанию

Спасибо!
Тяжело, конечно, для понимания.
Я пробежался по поиску - по поводу Singleton, вроде не очень лестные отзывы.
И еще вопрос - а если я передаю переменные не из куков, а из Flash-a через AS - надежно ли хранить логин и пароль в переменных самого Flash-a, или все-таки лучше Вашим способом - с идентификатором?
slm вне форума Ответить с цитированием
Старый 12.01.2011, 00:26   #4
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Наверное потому, что Singleton'ом надо уметь пользоваться - использовать, где надо, и не использовать, где не надо
Про флеш я подсказать ничего не могу - не сталкивался и стараюсь не сталкиваться с ним. Суть в том, что не стоит каждый раз передавать незашифрованный пароль по сети. Даже если злоумышленник перехватит идентификатор, то для получения самого пароля ему придётся ломать сервер
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 12.01.2011, 00:30   #5
slm
Пользователь
 
Регистрация: 09.05.2008
Сообщений: 40
По умолчанию

Отличный ответ!
Все стало на места.
slm вне форума Ответить с цитированием
Старый 12.01.2011, 05:51   #6
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

Вот хороший пример с сессиями: http://www.codenet.ru/webmast/php/PHP-Sessions.php
Никки вне форума Ответить с цитированием
Старый 12.01.2011, 17:41   #7
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию ...

проблема перехвата куки отпадает если её передавать яваскриптом(на клиентской стороне)...
8oOoRPM вне форума Ответить с цитированием
Старый 12.01.2011, 18:10   #8
Буратино
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 16
По умолчанию

Цитата:
Сообщение от 8oOoRPM Посмотреть сообщение
проблема перехвата куки отпадает если её передавать яваскриптом(на клиентской стороне)...
это что значит?
Буратино начал открывать шампанское носом и стал искусственным спутником Земли
Буратино вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать с помощью PHP, существует ли таблица в БД MySQL? motorway PHP 10 27.09.2010 15:01
PHP+MySQL. Как выполнить UPDATE таблицы? ViTYAi PHP 5 24.12.2009 10:03
Как сделать грамотно проверку на столкновение с объектом Ckomoroh Общие вопросы Delphi 3 26.10.2009 02:38
Как создать RSS с помощью PHP, MySQl. Revival001 PHP 6 12.07.2009 19:49
Как грамотно сделать описание к проге? chandrasecar Общие вопросы Delphi 1 20.11.2008 22:23