2011-11-15 458 views
2

我即將部署具有敏感數據的應用程序。出於這個原因,不應該有任何數據存儲到磁盤。有沒有辦法禁用服務器端緩存?我找不到任何東西。在rails生產環境中禁用服務器端緩存

+0

你說的是日誌文件和控制檯輸出? – stephenmurdoch

+0

嗨,我的意思是在tmp/cache下創建的文件。 – Majnu

回答

3

我碰巧遇到了這個問題,我假設你不再需要答案。不過,我相信你要找的是以下內容:

config.action_controller.perform_caching = false 
+0

我自己沒有測試過這個問題,因爲這個問題很老,但我認爲這是正確的答案。謝謝! – Majnu

-2

您的要求沒有說明的意義。如果你有「敏感數據」,數據在哪裏存儲?在數據庫中,可能?如果是這樣,那麼服務器端緩存不會有更大的安全風險。

許多應用程序涉及敏感數據。所以要確保服務器的安全;不要關閉緩存。

如果我誤解了你的設置,請進一步解釋。

+0

那麼數據庫駐留在不同的服務器上,我不是將數據庫密碼存儲在database.yml中,而是讓用戶在登錄時輸入它們(這並不容易,但現在可行)。 rails服務器可以由管理員訪問,他們不應該能夠查看敏感數據。我不明白爲什麼rails應用程序絕對必須將數據存儲在磁盤上,因爲我沒有需要緩存的性能問題。我只是想把它關掉。有什麼想法嗎? – Majnu

+0

是的:整個設置沒有意義。所有用戶都將密碼輸入到相同的數據庫或不同的數據庫中?特別是如果數據庫位於不同的服務器上,則可能需要緩存,否則將會浪費大量時間來處理網絡流量。爲什麼管理員不應該看到數據?據推測他們比隨機用戶更可信...... –

+0

看,我有一個用戶(他根本不是隨機的),沒有性能問題和敏感數據。我可以很好地決定設置是否有意義。問題是:我可以在rails中關閉磁盤緩存嗎?是/否/我不知道。如果不知道整個背景,請不要決定這個意義。 – Majnu

2

在配置文件中設置這些設置。 I-Econfig/environments/production.rb

config.perform_caching = false config.cache_store = :null_store