我正在尝试创建一个具有实时功能的Flash应用程序,并希望使用Redis的pubsub功能,这非常适合我需要的功能。
我知道直接从客户端连接到数据存储几乎总是坏的。这有什么安全隐患(因为我不是Redis的专家),有没有办法解决这些问题?根据我的阅读,可能会利用配置集和更改rdb文件位置,并能够任意覆盖文件。还有别的事吗? (如果我根本不使用任何的特定redis实例,即没有存储数据)
我理解另一种方法是编写一些自定义套接字服务器程序,并将其作为连接到redis和发出命令的中介层 - 如果可能的话,这是我要避免编写的工作。
**编辑**
刚刚了解了rename-command配置以禁用命令。如果我在redis实例上禁用每个命令并且只打开SUBSCRIBE和PUBLISH,那么它是否足以在生产中运行?
答案 0 :(得分:1)
我认为将您的客户端直接连接到Redis是个坏主意。 Redis仅为唯一身份用户提供authentication system。它希望此用户成为您的服务器应用程序。
从我的角度来看,直接暴露Redis总是一个坏主意。它允许任何人访问您的所有数据。这是confirmed by the Redis doc。
因此,您不会避免添加或开发应用的服务器端。