2012-08-17 53 views
2

我正在開發一個網站並使用Heroku進行託管。我在他們的開發計劃,允許我使用他們的免費數據庫,但只有10,000行。在兩天內沒有觸摸該網站之後,我驚訝地看到Heroku的一封電子郵件提醒,說我的分貝已經達到了7,400行。經過一番研究,我意識到搜索機器人正在創建會話。有沒有辦法阻止它?我曾嘗試在這篇文章的解決方案,但它似乎並沒有工作時:阻止bot使用會話

How to disable Rails sessions for web crawlers?

我使用Rails 3.2.2。

回答

3

正如在這個問題(Setting session timeout in Rails 3)中看到的,您可以實現會話的自動過期並在會話過期時刪除數據庫行。如果你保持會話過期時間低並且不斷刪除數據庫行,我想你不會達到你的Heroku限制。

+0

有沒有比這更好的答案,任何想法? – Micah 2014-06-10 21:14:40

-1

你爲什麼要在你的數據庫中存儲會話?我建議你查找正在執行的服務器/站點設置並禁用它。在大多數情況下在DB中存儲會話沒有意義,並且肯定是不在開發站點上。

+0

感謝您的建議,但我選擇數據庫會話存儲有原因。你還能爲我提供一個答案嗎? – hugo 2012-08-17 10:36:00

+0

如果您在帖子中提到的解決方案(鏈接到之前的帖子)不起作用,那麼您應該檢查您的案例中機器人傳遞的用戶代理字符串,並相應地調整正則表達式。並且看看「Kulbir Saini」選項。 – 2012-08-17 10:40:26

+0

由於數據庫中的會話是處理安全性的更安全方式,因此降低了評分。請參閱關於會話存儲的Rails指南:http://guides.rubyonrails.org/security.html#session-storage – 2013-03-18 16:28:54