Запретить боту использовать сеансы

Я разрабатываю сайт и использую Heroku для своего хостинга. Я нахожусь в их плане разработки, который позволяет мне использовать их бесплатную базу данных, но только до 10 000 строк. После того, как я не заходил на сайт в течение двух дней, я был потрясен, увидев уведомление по электронной почте от Heroku, в котором говорилось, что я достиг 7400 строк в своей базе данных. После некоторых исследований я понял, что поисковые боты создавали сеансы. Есть ли способ остановить это? Я пробовал решение в этом посте, но, похоже, оно не работает:

Как отключить сеансы Rails для поисковых роботов?

Я использую рельсы 3.2.2.


person hugo    schedule 17.08.2012    source источник


Ответы (2)


Как видно из этого вопроса ( Установка времени ожидания сеанса в Rails 3), вы можете реализовать автоматическое истечение срока действия вашего сеанса и удалить строки базы данных, когда сеанс истек. Если вы сохраните время истечения сеанса на низком уровне и продолжите отбрасывать строки базы данных, я думаю, вы не достигнете предела Heroku.

person Kulbir Saini    schedule 17.08.2012
comment
Должен быть лучший ответ, чем этот, есть идеи? - person Micah; 11.06.2014

Почему вы храните сеансы в своей БД? Я бы посоветовал вам найти настройки сервера/сайта, которые это делают, и отключить их. В большинстве случаев нет смысла хранить сеансы в БД и определенно не на сайте разработки.

person Germann Arlington    schedule 17.08.2012
comment
Спасибо за совет, но были причины, по которым я выбрал хранилище сеансов db. Можете ли вы еще дать мне ответ на мой вопрос? - person hugo; 17.08.2012
comment
Если решение, которое вы упомянули в своем посте (ссылка на предыдущий пост), не работает, вам следует проверить строки пользовательского агента, переданные ботами в вашем случае, и соответствующим образом настроить регулярное выражение. И посмотрите на вариант Кульбира Сайни тоже. - person Germann Arlington; 17.08.2012
comment
Отклонено, потому что сеансы в БД - более безопасный способ обеспечения безопасности. См. руководства по Rails о хранилище сеансов: guides.rubyonrails.org/security.html#session-storage - person Amin Ariana; 18.03.2013
comment
@AminAriana Я думаю, что вы НЕ читали guides.rubyonrails.org/security.html# руководства по сеансу полностью. Он НЕ предлагает хранить сеансы в БД, но хранить конфиденциальную информацию в БД вместо сеанса. - person Germann Arlington; 01.08.2013