У меня была такая идея:
Внутри логина сделать вход выход в комнаты.
Сделать форму,содержащую кнопки войти и выйти и поле hidden.
Я хотел чтобы кнопка вход передавала через hidden значение 1.
Кнопка выход передавала значение 0.
Если принимается значение 1,определяется по сессии имя пользователя и вставляется в базу данных.
Если 0,то оно удаляется.
При этом кнопка выйти появляется только тогда,когда имя пользователя,хранимое в сессии находится в бд.
А кнопка войти наоборот,когда отсутствует.
Возможно скрипт и не слишком продуман,требует доработки.
Но он имеет право на нормальное,безопасное существование и функционирование?</span>
А то вот что нашел:
Броузер не отображает скрытое поле, хотя его можно обнаружить, если перевести броузер в режим просмотра HTML-файла и проанализировать текст HTML-страницы. Скрытые поля полезны, если необходимо указать требуемую для сценария информацию, но при этом нежелательно, чтобы пользователь имел возможность вносить в нее изменения. Однако учтите, что сообразительный пользователь может сохранить вашу форму в файле, отредактировать его, а затем передать эту форму серверу в измененном виде. Поэтому не стоит полагаться на скрытые поля с целью создания какой-либо защиты.
И это далеко не все,как я понял.
Если же имеет,то как его обезопасить?
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
dron4ik
4.04.2013 - 17:40
а почему не проверять сессию или куку на существование?
_____________
Ex3m.com.ua — Активный образ жизни
Сессии трудней считать,выводить.
А так пользователь таскает собой одну сессию,т.е есть откуда вытащить его имя.
А так просто вывести всю текущую базу+countom online считать.Все довольно точно получится.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
dron4ik
4.04.2013 - 18:41
Сори за офтоп, но как давно вы в этом?
_____________
Ex3m.com.ua — Активный образ жизни
В этом,в чем?
php- месяца 4
сессии недельку назад юзать начал.
Идея сегодня пришла
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
dron4ik
4.04.2013 - 19:14
Предлагаю не спешить, а продумать наперед все что хотелось бы реализовать... И прочесть про сессии немножко... И про Кукесы тоже...
_____________
Ex3m.com.ua — Активный образ жизни
Цитата (dron4ik @ 4.04.2013 - 19:14) |
Предлагаю не спешить, а продумать наперед все что хотелось бы реализовать... И прочесть про сессии немножко... И про Кукесы тоже... |
Да я прочитал и не раз.Не могу ничего нормального про сессии найти.
нашел только что ее стартуют в начале страницы,если есть зарегестрированные перменные они запускаются,если нет то нет.Также их можнео зарегестрировать в этом скрипте.
Ну и можно разрушить(нужно).
Ну а так это массив,в который еще можно запихнуть массив:)И команды все на него катят.А куки сохраняются на стороне пользователя,по-этому не очень хочется их юзать для определения онлайна.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
4.04.2013 - 19:36
$_SESSION - это супер глобальным массив - он находится в глобальной области видимости - это значит - что он и его элементы будут доступны и в функциях и в классах
по структуре - он ни чем не отличается от обычного массива.
$_SESSION будет доступен - если в начале скрипта (до любого вывода данных) - стартовать сессию session_start()
и этот массив будет доступен везде - где стартовала сессия.
чем он тебя не устраивает?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Игорь_Vasinsky
4.04.2013 - 19:39
сессия живёт определённое время - есть дефолтовое значение, которое можно переназначить в скрипте с помощью ini_set()
у каждой сессии есть уникальный id - увидеть его просто
echo session_id();
отсюда нарисовывается алгоритм - жива сессия - пользователь онлайн - не жива - оффлайн
примечание = данные сессии - хранятся в отдельных файлах - в папке на сервере
но с сессией работают не через эти файлы - а через $_SESSION
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
я не очень понимаю,вы же говорили что если форма передает допустим post алялля в $_SESSION['exlusive']
то это значение для каждого пользователя разное.Но сохраняется в массив с одним ключом.Каким образов можно вывести тогда допустим имена двух пользователей,которые получили свою сессию с собственных post'ов.
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
4.04.2013 - 19:50
$_SESSION['lang'] = 'ru';
$_SESSION['greating'] = 'Здрасти';
$_SESSION['uid'] = $row['id'];
$_SESSION['login'] = $row['login']
Ты меня не так понял. этот массив может содержать как уникальные данные - так и общие.
Всё зависит от того - что ты туда запишешь.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
//id пользователя - после авторизации из БД - уникальна для каждого юзера
$_SESSION['uid'] = $row['id'];
//логин пользователя - после авторизации из БД - уникален для каждого юзера
$_SESSION['login'] = $row['login']
Вот каким образом мне вывести эти уникальные переменные ,таким образом,чтобы отобразилось уникальное ид ,или имя одного пользователя,а за ним следует другого пользователя.можешь скрипт написать?
Я просто представляю так себе:проходит пользователь по скрипту натыкается на
$_SESSION['uid'] = $row['id']; значит в ключ uid поступает ид из столбика id.
А когда другой проходит регистрацию то в ключ uid поступает ид из столбика id,но т.к уже содержался ид в массиве с эти ключом,ничего не остается как перезаписаться.
Точто там нету не каких других ключей проверено через $us=array_keys($_SESSION) ;
Array ( [0] => log [1] => id )
Если я перезайду на своем компе и там естественно произойдет все что я выше написал,допустим ты же говорил про другие компы.На них я к сожалению не могу ничего проверить,ладно верю,допустим как-то будет у каждого свой.
Но это ничего не решает,как же я могу вывести обоих одновременно?
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
4.04.2013 - 20:37
Цитата |
А когда другой проходит регистрацию то в ключ uid поступает ид из столбика id,но т.к уже содержался ид в массиве |
ни чё не сожержится)
ты сам заполняешь $_SESSION
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Цитата (Игорь_Vasinsky @ 4.04.2013 - 20:37) |
Цитата | А когда другой проходит регистрацию то в ключ uid поступает ид из столбика id,но т.к уже содержался ид в массиве |
ни чё не сожержится)
ты сам заполняешь $_SESSION
|
Хорошо,напиши пожалуйста скрипт в котором одновременно выводятся две сессии различных пользователей,тогда я увижу в чем не прав,либо мы говорим о разных вещах
_____________
Чем больше круг знаний - тем больше длина окружности соприкосновения с областью неизвестного - тем больше степень моего незнания.
Лёгкость принятия решений и громкость слов (или число нулей ожидаемой прибыли) свойство окружностей сверхмалого диаметра, стремящихся к точке - к точке зрения.
Игорь_Vasinsky
4.04.2013 - 21:03
сессии создаются для текущего сеанса)) сессии 2х сеансов ты не получишь)
ты чё вообще собираешься делать то?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.