Форум: "Прочее";
Текущий архив: 2013.04.14;
Скачать: [xml.tar.bz2];
Вниз
Пхп Найти похожие ветки
← →
alexdn © (2012-12-11 10:48) [0]Вот немножко не понимаю я строчку
if (!isset($_SESSION["id"]))
т.е. переводится, если сессия существует, но я видно не понимаю как определяется существование сессии, сессия это вообще файл с каким то расширением?
← →
boriskb © (2012-12-11 10:53) [1]http://www.phpfaq.ru/sessions
← →
БарЛог © (2012-12-11 10:59) [2]сессия - это когда ты с красными глазами, не ешь, живешь в общаге... :)
← →
Pavia © (2012-12-11 11:32) [3]https://www.google.ru/search?q=PHP+%D0%B4%D0%BB%D1%8F+%D1%87%D0%B0%D0%B9%D0%BD%D0%B8%D0%BA%D0%BE%D0%B2
← →
Правнук Винни-пуха (2012-12-11 13:05) [4]Странный какой-то способ. Я в массиве $_SESSIONS не нашел элемент id по умолчанию. Скорее всего, чтобы использовать этот способ, нужно после открытия сессии записывать в нее элемент id. Т.е. он там по умлолчанию не создается. Чем плох if (session_id() != "") ?
← →
Медвежонок Пятачок © (2012-12-11 13:53) [5]Строка тупо проверяет, есть ли в массиве $_SESSION элемент с именем "id"
← →
.megavoid (2012-12-12 09:58) [6]Сессия - это два файла, один на сервере, один в браузере, тот, что в браузере - хранит только имя сессии, а все переменные сессии пхп хранит во временном файле на сервере. isset($_SESSION["id"]) - популярный способ проверки "залогиненности", перед этим элемент id надо в сессии "создать": $_SESSION["id"] = 12345;
← →
Правнук Винни-пуха (2012-12-12 10:37) [7]> [6] .megavoid (12.12.12 09:58)
У пользователя сессия может хранится или в куки или в виде модификатора ко всем ссылкам на странице. Во втором случае никаких файлов у пользователя нет.
← →
.megavoid (2012-12-12 11:39) [8][7] &SID=md5 ну да, но с файлом, вроде как, понятнее. Сейчас хотят WebStorage в HTML5 всё это позаменить, может, и к лучшему, один фиг браузер уже недоось (чего стоят одни только Chrome apps)
← →
Дмитрий С © (2012-12-12 11:45) [9]
> или в виде модификатора ко всем ссылкам на странице
Пережитки прошлого, скорее бы пережить.
> Сейчас хотят WebStorage в HTML5 всё это позаменить
Кукисы это не заменит, никуда они не денутся.
← →
Андреевич (2012-12-13 10:28) [10]
> Дмитрий С © (12.12.12 11:45) [9]
>
> > или в виде модификатора ко всем ссылкам на странице
>
> Пережитки прошлого, скорее бы пережить.
при первом посещении нормальные сайты сразу добавляют к ссылкам сессию (и не только в ссылки, но и скрытые поля в формы), потому как кука будет поставлена и использована только на втором запросе страницы.
← →
знайка (2012-12-13 12:17) [11]
> при первом посещении нормальные сайты сразу добавляют к
> ссылкам сессию
Это какие такие нормальные?
← →
Дмитрий С © (2012-12-13 12:33) [12]
> при первом посещении нормальные сайты сразу добавляют к
> ссылкам сессию (и не только в ссылки, но и скрытые поля
> в формы), потому как кука будет поставлена и использована
> только на втором запросе страницы.
Любой сайт, который добавляет к ссылкам сессии не нормальный. Ну и насчет куки вы не правы.
← →
Пит (2012-12-13 12:49) [13]Удалено модератором
← →
Vegeta (2012-12-13 12:54) [14]> Андреевич (13.12.12 10:28) [10]
> при первом посещении нормальные сайты сразу добавляют к ссылкам сессию (и не только в ссылки, но и скрытые поля в формы), потому как кука будет поставлена и использована только на втором запросе страницы.
Полная чушь, от начала до конца.
← →
Андреевич (2012-12-13 13:19) [15]
> Полная чушь, от начала до конца.
это лишь говорит о твоем уровне :)
← →
Андреевич (2012-12-13 13:22) [16]ну просто для Вегет:
-на сайт пришел запрос от клиента, кук нет. Мы не знаем поддерживаются ли куки у клиента, потому ставим ее и пишем ssid в урлы и формы.
-приходит второй запрос от клиента, у которого либо в куках либо в урлах будет ssid. если куки не поддерживаются (и, соотвественно, будут пусты), то используется ssid в урлах-формах, и прописывается в хтмл опять.
Андерстенд? :)
← →
Дмитрий С © (2012-12-13 13:26) [17]
> Андреевич (13.12.12 13:22) [16]
Убивать за такое надо!
Если у пользователя не поддерживаются куки, то нужно только об этом сообщить ему, а не пихать идентификатор сессии в ссылки.
> Пит (13.12.12 12:49) [13]
Ну тоже не совсем корректно. Помимо элемента массива, данная строка проверяет существование самого массива.
← →
Андреевич (2012-12-13 13:30) [18]
> Убивать за такое надо!
>
> Если у пользователя не поддерживаются куки, то нужно только
> об этом сообщить ему, а не пихать идентификатор сессии в
> ссылки.
я тебе сейчас открою страшную тайну, пока ты никого еще не убил: куки и идентификатор сессии как раз и используются в качестве костыльного метода идентификации клиента. Ставя куку не сможешь узнать ставится она или нет до тех пор пока клиент с переданой сессией не зайдет снова. Определить момент "зашел снова" можно лишь определив юзера по переданой сессии в урле.
еще кто нибудь хочет кого нибудь убить или по-полночушить?
← →
Дмитрий С © (2012-12-13 13:35) [19]
> Андреевич (13.12.12 13:30) [18]
Да ты видимо в прошлом веке живешь.
Первое что в голову пришло:
<script src="..."> - выполнить подзапрос со страницы, скрипт генерируется в зависимости от куки.
А есть еще картинки, а есть еще XMLHTTPRequest.
Мысли о том, что пользователь может отключить JavaScript (ровно как и куки), пожалуйста, оставь при себе.
← →
Андреевич (2012-12-13 13:38) [20]Разумеется скрипты на клиенте могут не работать (не только путем их отключения). Скриптом в странице ты делаешь тоже самое, в скрипте будет сессия, это будет второй запрос.
А что картинки?
добро пожаловать в новый костыльный век? нет, спасибо, я в старом поживу, как-то понадежнее =)
← →
Дмитрий С © (2012-12-13 13:54) [21]
>
> добро пожаловать в новый костыльный век? нет, спасибо, я
> в старом поживу, как-то понадежнее =)
Надежнее в GET параметрах передавать куку? Очень безопасно.
Я надеюсь ты никогда не будешь делать сайт для любых фирм связанных с финансами и личной информацией.
> Разумеется скрипты на клиенте могут не работать
Если скрипты или куки у пользователя не работают - он наверняка в курсе этого и понимает что делает.
← →
знайка (2012-12-13 14:03) [22]Так где нормальные сайты, или тоже в прошлом веке остались? :)
← →
Kerk © (2012-12-13 14:25) [23]Особенно поисковики тебя полюбят за то, что одни и те же страницы постоянно будут иметь разные ссылки, благодаря этому SID в урле :)
Скоро уже лет 10 как цивилизация пытается от этого бреда избавиться, один ты против мейнстрима :)
← →
Андреевич (2012-12-13 14:40) [24]
> Надежнее в GET параметрах передавать куку? Очень безопасно.
не куку, а идентификатор сессии.
раз уж ты такой специлист, то объяснять чем отличается кука и ssid не надо? =)
> Я надеюсь ты никогда не будешь делать сайт для любых фирм
> связанных с финансами и личной информацией.
даже не надейся :)
> Kerk © (13.12.12 14:25) [23]
да мне на поисковики вообще пофиг (лично для себя и своих проектов), но любители СЕОшить все равно для их юзерагентов подсовывают "легкие версии" страниц, разумеется без ssid.
← →
Kerk © (2012-12-13 14:57) [25]
> Андреевич (13.12.12 14:40) [24]
Ты когда нам "нормальные сайты" уже покажешь? :)
← →
Медвежонок Пятачок © (2012-12-13 15:06) [26]Надежнее в GET параметрах передавать куку? Очень безопасно.
Один мой знакомый (лет 15 назад) думал, что если гет - то это всем всё видно.
А если "пост" - то никто ничего не видит, кроме самого сервера.
Ни один хакер.
← →
Пит (2012-12-13 15:40) [27]Удалено модератором
← →
antonn © (2012-12-13 17:56) [28]
> Kerk © (13.12.12 14:57) [25]
>
>
> > Андреевич (13.12.12 14:40) [24]
>
> Ты когда нам "нормальные сайты" уже покажешь? :)
например http://forum.sources.ru/index.php?
← →
Дмитрий С © (2012-12-13 18:38) [29]
> antonn © (13.12.12 17:56) [28]
Зашел в тему, решил вот с тобой поделится:
http://forum.sources.ru/index.php?s=1534b0a271c0b342c51f21e33397e99b&showtopic=190375
Прикольно получается да?
← →
antonn © (2012-12-13 18:42) [30]
>
> Прикольно получается да?
Да, именно об этом и говорилось. Если у тебя куки не поддерживаются, то сид в урле позволит авторизоваться. Почему при первом посещении он виден при включенных куках - я уже выше говорил.
← →
знайка (2012-12-13 18:58) [31]У меня при первом не виден в урле, а установка в куках видна.
← →
antonn © (2012-12-13 20:13) [32]
> У меня при первом не виден в урле, а установка в куках видна.
в ссылках на странице, не в адресной строке браузера
← →
знайка (2012-12-13 20:31) [33]т.е. уже есть куки и дополнительно пихают еще в ссылку? да уж нормальный, так нормальный...
← →
antonn © (2012-12-13 20:47) [34]
> т.е. уже есть куки и дополнительно пихают еще в ссылку?
внимательно прочитай [18], это же основы.
при первом запросе не известно поддерживает ли клиент куки (и вообще не известно что это за клиент), потому отправляются ему куки (в заголовках) и ставятся сиды в урлы. При втором запросе (и отдаче страницы, соответственно) при наличии сида в куках в ссылках проставляться не будет.
а так да, при самом первом запросе страницы возвращаются и куки в заголовке, и страница нашпигованная сидами в урлах. разумеется у тех сайтов, которые хотят угодить клиентам которые работают без кук.
← →
Дмитрий С © (2012-12-13 23:53) [35]
>
> а так да, при самом первом запросе страницы возвращаются
> и куки в заголовке, и страница нашпигованная сидами в урлах.
> разумеется у тех сайтов, которые хотят угодить клиентам
> которые работают без кук.
Так это и неправильно. Это подвергает опасности пользователя, который делится ссылкой. Тем более на форуме грех не поделиться.
Всё же я за то, что бы предупреждать пользователя, что с отключенными куками (вряд ли их кто-то сейчас не поддерживает) ему не удастся авторизоваться, вместо того чтобы без ведома пользователя пихать ключ к его учетке в строку адреса.
Блин, а что будет, если пользователь нажмет ссылку на этом форуме, реферером передаст свою сессию? Кросс-доменные рефереры разрешены по-умолчанию.
В общем - бить за такое!
← →
Андреевич (2012-12-14 11:33) [36]
> Дмитрий С © (13.12.12 23:53) [35]
давай по существу: сколько сайтов, а еще лучше - сколько систем авторизации ты написал? ну просто чтобы быть увереным, что ты понимаешь о чем пишешь.
Ну увижу я номер сессии, и что? ты сам-то пробовал зайти по чужой ссылке? разумеется, дырявый сайт написаный на коленке без понимания специфики работы сессий может авторизовать тебя под чужим логином. сайт, ссылку на который я привел, тебе этого не позволит (точнее движок форумный), там идет завязка на юзерагент и remote_ip.
Потому что идентификатор сессии<>логин. То что я его увижу еще не значит что смогу воспользоваться, не имея такого же ИП и браузера.
> Блин, а что будет,
я тебе скажу что будет у меня (собстенный механизм сессий) - если ip и юзерагент у пользователя отличается от тех, что были заданы при создании сессии (первом запросе страницы), то она удаляется и создается новая. Таким образом можно максимум разлогинить пользователя (либо зайти будучи в моей домашней сети и такого же браузера). И если ИП действительно встречаются часто (относительно тоже) одинаковые, то useragent меняется часто даже из-за какого-то плагина, не говоря уж про зоопарк браузеров.
Как минус у меня - нельзя зайти авторизованым по ссылке с разных браузеров одного компьютера, с каждый раз разным внешним ИП.
Т.ч. прежде чем "блинкать" - теорию бы поглядели. Прежде чем звать в "новый век" стоило бы понять, что для этого еще не создали условий и реализаций. Костыли про которые я говорю (а идентификация пользователя в http - это уже костыли) были придуманы не мной, и давно, обкатаны не на одном движке, и теория обсосана. Костыли про которые говоришь ты - более хромированные и с рюшечками, но функционально те же самые - реализованы где? Тебе не понравилось что сид в урлах светится? А что еще тебе не нравится, особенно из того, о работе чего ты, видимо, не сильно много знаешь? =)
← →
Андреевич (2012-12-14 11:41) [37]Ах да, сид в урлах не особо опаснее чем xss и получение куки с твоей странички (+getcookie(), + get/post с закодироваными куками на свой адрес, плюс сброс в лог переданых данных (вплоть до автоматического перехода скриптом (с авторизацией, если механизм сессий дыряв) со сменой пароля в распространенных движках), и это на js). Ну это если о безопасности говорить и о том как можно стырить данные :) в данном случае без разницы где лежит sid (в куке или get/post), если механизм сессий имеет ограничения на использование сида, то мы ничего не сделаем. Если сессии дырявы - и из куки упрем, дело времени. А в такой безопасности нет вероятности, либо безопасно либо нет (хотя, опять же, с текущим зоопарком браузеров и самим http говорить о полной безопасности и идентификации вообще не стоит).
← →
Дмитрий С © (2012-12-14 12:02) [38]Человек плагин поставил в браузер - сессию потерял, круто.
Интернет у человека отвалился, перелогинилися - сессию потерял, круто.
https://mypetition.ru/ - смотри сколько хочешь.
А еще попробуй на нем XSS вставить.
Лет 10 назад мы с человеком делали сайт и уже тогда пришли в к выводу, что передавать сессии в GET параметрах - зло. Все доводы что ты тут приводил мы еще 10 лет назад рассмотрели.
То что тот же php поддерживает вставку сидов в get параметры ссылок и в формы - это не значит что так делать правильно и надо.
← →
Андреевич (2012-12-14 13:05) [39]аа, ну раз вы 10 лет назад рассмотрели, тогда ладно...
пойду думать, что же делать человеку поставившему плагин, он ведь разлогинится при этом... ужас просто, дикий не_юзерфрендли. Жаль, что раньше мне спор лишь показался беспредметным, на уровне "а мне не нравится урл". он такой и есть
← →
Дмитрий С © (2012-12-14 13:12) [40]Между прочим, свой правильный сайт ты так и не показал. Показывай, не стесняйся.
Страницы: 1 2 вся ветка
Форум: "Прочее";
Текущий архив: 2013.04.14;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.006 c