Думаю,данная тема будет позновательна не только новичкам!
Вопрос такой,в данный момент люди по поводу сессий разделились на 2 стороны.
Бытует мнение,что сессию лучше использовать в целях для которых она создана,а тоесть межстраничная память.
Другие же говорят что лучше все же использовать ее чаще.Например для хранения логина и пароля.Обосновывая это безопансостью.Решив задаться вопросом я пришел к очень спорному для себя мнению.Я не буду описывать здесь механизм работы сессий в надежде что читатели знакомы с данными механизмами.
Собственно давайте начнем!
Аргументы в сторону сессий:
1)Сессия хранится на сервере,а следственно безопасней.
2)Если смотреть на примере Аутентификации,то приходится более - менее колличество выборок т.к классическая аутентификация подразумевает,что будет просто установлен аргумент в тру (я не говорю о вас,гений,который делает както иначе!Я охватываю большенство и классичность.Доказывать что большенство делает иначе не вижу смысла,мы тут не вопрос аутентификации обсуждаем!)
Теперь поговорим о минусах:
1)Сессии могут подвиснуть.
2)Сессии загружают процессор.
3)Если украсть идентификатор сессии,то мы сможем также аутентифицироватся.
Собственно это пока все что я хотел бы сказать о сассиях.
Теперь поговорим о куках. В наше время их везде закидывают "какашками" крича об их не безопасности,но все же я хотел бы привести и их плюсы и минусы.
Начнем с плюсов:
1)Первый и самый главный - они не нагружают сервер т.к на нем не хранятся.
2)Они не зависают в отличии от сессий .
Больше пока что не могу придумать...=)
Перейдем к минусам:
1)Они хранятся на стороне клиента.
2)Их можно украсть и разумеется подставить что угодно т.к они на стороне клиента.
Казалось бы этих аргументов достаточно,чтобы практически отказатся от них.Однако теперь я бы хотел привести сравнение,увидеть вашу точку зрения по этому поводу.Мы живем в 21 веке и у нас давно есть придуманные за нас функции дабы обезопасить нашу жизнь.
И так поехали!!
1)Мы можем запретить обращение к кукам через ява скрипт,при условии что не используется функция eval() и фильтрация HTML тегов банальным Strip_tags().Согласитесь,мы убираем возможность кражи кук.Конечно есть трояны,но согласитесь трояны могут и сессию выкрасть.
XSS мы исключаем т.к я уже привел пример.У нас множество фильтров,но прошу вас показать мне спсоб внедрения XSS в strip_tags()
Людей говорящих что куку все равно можно украсть в отличиие от ид сессии прошу показать пример!
2)Вторая причина почему куки не безопасны это SQL инъекция и тут я тоже хочу сказать про 21век.Использование PRIPAREd запросов.Если вы не конструируете запрос,то вы получаете 100% гарантию от скюель инекци.Извените,но демогогию что они дольше обычных скюель запросов законьчу тем,что в следуйщей версии пхп модуля майскюель не будет !Следовательно застрствуй ПДО и MSQLI.Получаетса что и от инъекций мы защетились.Тех кто скажет нет - прошу пример инъекиции в припаер.
3)Крптография.Не думаю что ваше значение будет смысл открывать,имея ту защиту которую я описал выше.И все-таки если вам это надо есть масса способов с использованием соли и подфикса.
Вывод:
Если куки все-таки безопасны на данном этапе,почему не использовать их?Ведь они меньше нагружают серверную часть при условии должной защиты,которую я описал и она кстате не так уж и сложна.Я на данный момент склоняюсь к использованию кук,но сеть просто пестрит тем что нада работать с сессиями.Вобщем,не согласных с моими утверждениями я попрошу привести аргументы (почему вы не согласны),а согласных просто подтвердить мою точку зрения для подведения итогового мнения. =)
(Отредактировано автором: 11 Ноября, 2013 - 15:33:10)