Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с незарегистрированными пользователями, Скрипт интернет-магазина 
:(
    Опции темы
rcdimon
Дата 5.5.2012, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Всем проивет.

Пишу интернет-магазин.

Есть база данных с таблицей пользователей и таблицей корзины. У корзины соответственно есть поле, указывающее какому пользователю она принадлежит.
Но я хочу дать возможность пользоваться корзиной в том числе и незарегистрированным пользователям- добавлять товары, просматривать корзину, редактировать ее содержимое.

Поэтому я сделал пока так:
При заходе пользователя, если у него нет cookies с сессией, то сессия генерируется, записывается ему в куки и создается запись с пользователем в БД.

Но если у пользователя не поддерживаются куки, то база данных быстро забьется т.к. при каждом просмотре будет генерироваться новая сессия и пользователь.

Какие есть варианты борьбы с этим?
PM MAIL ICQ   Вверх
ksnk
Дата 5.5.2012, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Нужно проверить параметры
Цитата

session.use_cookies  
session.use_only_cookies

Сессия может работать и без кук, тогда в адресную строку будет добавляться параметр PHPSESID=ZZZZZZZZZz

Вообще, ходить по магазину без кук может позволить себе только бот, imho  smile 


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
rcdimon
Дата 5.5.2012, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: нет
Всего: 2



Цитата

Вообще, ходить по магазину без кук может позволить себе только бот, imho


Вот они меня и волнуют ) например, узнав, что у нас такое дело, злоумышленник может написать скриптик, который убьет наш сайт за 1 день. Так быть не должно.

Цитата

Сессия может работать и без кук, тогда в адресную строку будет добавляться параметр PHPSESID=ZZZZZZZZZz


Это да. Это когда сессия делается встроенными средствами PHP. Я просто для сессий свой небольшой велосипед написал, чтобы хранить их в БД как мне нужно и делать с ними то, что хочу. Но вообще, можно, и к своему велосипеду прикрутить сессию в ссылки и если при переходе по ссылке с сессией у человека нет куки-  значит они у него не поддерживаются и значит надо.... э а кстати что делать то в таком случае? ) Удалять наверное его сессию из БД и писать, что магазин не работает без куки...

Но опять же скриптиком можно будет базу нашу забить. Надо придумать какой-то способ, чтобы база не страдала... Может вообще для таких пользователей не использовать обычную корзину в БД а хранить ее прямо у них к куки... Корявость в том, что для одного и того же по сути придется 2 реализации писать.
PM MAIL ICQ   Вверх
ksnk
Дата 5.5.2012, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 96
Всего: 386



Сессию нужно заводить только когда юзер что-то купил. Таким образом, все поисковые боты, которые не генерят POST запросы, не генерят и лишнюю нагрузку.
Если какой скрипт злонамеренно захочет  гадить в базу с сессиями, то никто не помешает этому скрипту сначала скинуть куки и наплевать на хитрости с адресной строкой. так что - смирится и расчитывать на лучшее  smile Точнее - подумать о возможности включить фильтрацию по IP и детектирование некорректных действий юзера, но делать ее когда жареный петух таки клюнет, но не ранее ...

Насколько оправдано хранить сессии в базе? Это, вообще говоря, не быстрее файлового хранения.

Это сообщение отредактировал(а) ksnk - 5.5.2012, 20:48


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0580 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.