Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
4-1264548546
hattak
2010-01-27 02:29
2013.04.14
Скриншот свёрнутого окна


2-1347787786
ddd
2012-09-16 13:29
2013.04.14
значение соответствующее значению в combobox


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


6-1266792836
victorgugo
2010-02-22 01:53
2013.04.14
Создание объектов в потоках TSocketServer


15-1355753990
slvcomputer
2012-12-17 18:19
2013.04.14
Требуется ведущий Delphi-разработчик (з/п 80-120 т.р.)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский