2011-11-15 123 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