2 вопроса
У меня есть 2 вопроса:
Вопрос № 1: зачем в таких популярных форумах как phpBB, IPB и т. д. создают MySQL таблицу sessions где хранятся данные о сеансах? Ведь PHP автоматически сохраняет и удаляет файлы сеансов на сервере и файлы работают быстрее чем SQL.
Вопрос № 2: как можно узнать откуда пришел пользователь?
Надеюсь на Вашу помощь, заранее благодарен.
Помогите новичку!
У меня есть 2 вопроса:
Вопрос № 1: зачем в таких популярных форумах как phpBB, IPB и т. д. создают MySQL таблицу sessions где хранятся данные о сеансах? Ведь PHP автоматически сохраняет и удаляет файлы сеансов на сервере и файлы работают быстрее чем SQL.
Вопрос № 2: как можно узнать откуда пришел пользователь?
Надеюсь на Вашу помощь, заранее благодарен.
№1 . а ты разработчикам этих форумов отошли на мыло этот вапрос :D
№2 . Какой язык используешь ???
Помогите новичку!
У меня есть 2 вопроса:
Вопрос № 1: зачем в таких популярных форумах как phpBB, IPB и т. д. создают MySQL таблицу sessions где хранятся данные о сеансах? Ведь PHP автоматически сохраняет и удаляет файлы сеансов на сервере и файлы работают быстрее чем SQL.
Что бы сверять id сессии с пользовательскими куками, в которых должна быть кука с id сессии, если id не равно id которое в таблице, то человек считается не авторизованным на форуме.
Помогите новичку!
Вопрос № 2: как можно узнать откуда пришел пользователь?
print "Вы пришли с ".$HTTP_REFERER;
?>
Кстати у хранения сессий в базе есть еще один плюс: когда мы имеем дело со сложной структурой серверов. Например один и тотже проект лежит на 2 и более серверах и имеется сервер, который распределяет нагрузку между ними. Сессии каждый из этих компьютеров будет создавать свои собственные. В итоге пользователю придется залогиниться несколько раз, так как сервер распределения нгрузки будет время от времени бросать его на разные компьютеры. Решение этой проблемы лежит в использовании общего хранилища сессиий, которым и выступает таблица в базе данных.
...итоге пользователю придется залогиниться несколько раз, так как сервер распределения нгрузки будет время от времени бросать его на разные компьютеры. Решение этой проблемы лежит в использовании общего хранилища сессиий, которым и выступает таблица в базе данных.
Технически верно - масштабирование и прочее...
Только вот еще один момент - phpBB вещь бесплатная, пользуются многие, пользуются на бесплатных хостингах. Где сессии различных проектов как правило лежат в куче в одной директории, как правило в темпе(собственно на платных тоже). Что создает проблемы с безопасностью. Видимо разработчики, дабы не выслушивать обвинения по поводу взломов с уводом сессий решили реализовать их через базы, что снимает этот вопрос - базы то у всех свои на любом хостинге.
print "Вы пришли с ".$HTTP_REFERER;
?>
Похоже на отверстие...
Похоже на отверстие...
Всмысли ?
Всмысли ?
В смысле отсутствия проверки.
Есть твой сайт x и мой сайт y. Юзер заходит ко мне, я ему вместо индекса - редирект на себя, где урл содержит что-то вроде <script language...>, бродилка идет по редиректу, оттуда её редиректят на тебя. Ты выводишь без проверок реферер, то есть мой скрипт, который читает куки твоего юзера, так как загружен с твоего домена, высылает их мне и обратно редиректится средствами ява скрипта на меня. Если юзер на быстром канале - имеет шанс даже не заметить что произошло. Называется CSS - крос сайт скриптинг. Врать не стану, сам не делал, но можно посмотреть по сети - потерпевшие имеются. :D
В смысле отсутствия проверки.
Есть твой сайт x и мой сайт y. Юзер заходит ко мне, я ему вместо индекса - редирект на себя, где урл содержит что-то вроде <script language...>, бродилка идет по редиректу, оттуда её редиректят на тебя. Ты выводишь без проверок реферер, то есть мой скрипт, который читает куки твоего юзера, так как загружен с твоего домена, высылает их мне и обратно редиректится средствами ява скрипта на меня. Если юзер на быстром канале - имеет шанс даже не заметить что произошло. Называется CSS - крос сайт скриптинг. Врать не стану, сам не делал, но можно посмотреть по сети - потерпевшие имеются. :D
Ох..епать.. :D я показал, какая переменная для определения реферера. А если человек умный, то он себе все равно сделает проверку.
Ох..епать.. :D я показал, какая переменная для определения реферера. А если человек умный, то он себе все равно сделает проверку.
:D :D :D Хе-хе-хе