2012-08-17 5 views
2

사이트를 개발 중이며 Heroku를 호스팅에 사용하고 있습니다. 나는 그들의 무료 데이터베이스를 사용할 수 있지만 최대 10,000 개의 행만 사용할 수 있도록 개발 계획을 세우고 있습니다. 이틀 동안 사이트를 건드리지 않은 후 Heroku에서 내 db에서 7,400 개의 행에 도달했다는 이메일 알림을 보니 충격을 받았습니다. 몇 가지 조사를 한 후 검색 봇이 세션을 생성하고 있음을 깨달았습니다. 이것을 막을 수있는 방법이 있습니까? 이 게시물에서 솔루션을 시도했지만 그것은 작동하지 않는 것 : 나는 레일 3.2.2를 사용하고봇이 세션을 사용하지 못하도록하십시오.

How to disable Rails sessions for web crawlers?

.

답변

3

이 질문 (Setting session timeout in Rails 3)에서 볼 수 있듯이 세션이 만료되면 세션의 자동 만료를 구현하고 데이터베이스 행을 삭제할 수 있습니다. 세션 만료 시간을 낮게 유지하고 데이터베이스 행을 계속 삭제하면 Heroku 제한을 초과하지 않을 것입니다.

+0

이것보다 더 좋은 대답이 있어야합니다. 어떤 아이디어입니까? – Micah

-1

왜 DB에 세션을 저장하고 있습니까? 난 당신이 그것을하고 비활성화하는 서버/사이트 설정을 찾는 것이 좋습니다 것입니다. 대부분의 경우 DB에 세션을 저장할 필요가없고 은 개발 사이트에없는입니다.

+0

조언을 주셔서 감사하지만 거기에 내가 db 세션 저장소를 선택한 이유가있었습니다. 아직도 내 질문에 대한 답을 나에게 줄 수 있니? – hugo

+0

게시물에서 언급 한 솔루션 (이전 게시물 링크)이 작동하지 않는 경우 봇에 전달 된 사용자 에이전트 문자열을 확인하고 적절하게 정규식을 조정해야합니다. 그리고 "Kulbir Saini"옵션도보십시오. –

+0

DB의 Sessions가 보안을보다 안전하게 처리하기 때문에 Downvoted. 세션 저장소에 대한 레일스 가이드를 참조하십시오. http://guides.rubyonrails.org/security.html#session-storage –

관련 문제