Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.04.14;
Скачать: CL | DM;

Вниз

Пхп   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.58 MB
Время: 0.008 c
15-1355873470
Дмитрий С
2012-12-19 03:31
2013.04.14
Обновление вверх по дереву.


15-1355913207
Дмитрий С
2012-12-19 14:33
2013.04.14
Открыть файл от имени администратора.


2-1349481129
Вова
2012-10-06 03:52
2013.04.14
как получить handle запускамемого приложения


2-1349538676
Wadimka
2012-10-06 19:51
2013.04.14
Можно-ли поменять DLL?


15-1355231463
boriskb
2012-12-11 17:11
2013.04.14
Российские школьники лидируют в изучении математики