2013-06-12 3 views
1

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

благодаря

+2

не более уязвим, чем обычная атака DOS. –

+0

http://stackoverflow.com/questions/454635/where-are-session-variables-stored – user20232359723568423357842364

+0

действительно ли местоположение имеет значение? – gerrnar

ответ

4

Почему бы не использовать местные хранения, печенье или некоторое другое решение вместо сессий? Я не говорю, что это лучшее решение, но файлы cookie могут быть лучшим решением для поддержания предпочтений. Они «могут» быть более продолжительными, чем сеансы, и менее интенсивно на стороне сервера.

+1

, вы все равно получите сеанс для каждого файла cookie, для распространения идентификатора. –

+0

Исправить, но не «каждый файл cookie», а каждый сеанс клиента. Но по крайней мере, вы не ставили бы что-либо еще на этом сеансе, сохраняя всю информацию в cookie стороне клиента. Кроме того, не используя сеансовые файлы cookie, вы можете хранить информацию дольше. Отказ от ответственности: я не являюсь огромным поклонником злоупотребления файлами cookie. Просто говорю. – MickJ

1

PHP сохраняет сеансы на диск по умолчанию; это только в памяти, в то время как программа на самом деле работает, поэтому это будет только проблема с памятью, если бы у вас было много посетителей одновременно - т.е. запуск вашего PHP-кода точно в то же время на том же сервере.

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

Реальный способ смягчить такие вещи - сделать ваши программы быстрыми, чтобы они быстро выходили, и, следовательно, вероятность того, что большое количество копий работает одновременно, меньше.

+0

- это такая атака, серьезная для опытных программистов (есть ли у нее какое-либо имя для поиска?), Или я должен пропустить об этом вообще. – gerrnar

+0

Ну, большое количество посетителей сразу будет либо потому, что ваш сайт действительно популярен (в этом случае вам нужно увеличить ресурсы сервера, чтобы справиться), либо это атака DoS («отказ в обслуживании»), и в этом случае вы нужно иметь хороший администратор sys для получения деталей (программирование на самом деле не входит в него, за исключением того, что ваш код работает как можно быстрее и быстрее, чтобы он мог лучше справляться и писать защитный код, чтобы фатальные ошибки, такие как «out» памяти "в середине вашей программы не нарушают вещи, но вы все равно должны это делать). – Spudley

Смежные вопросы