1. 程式人生 > >線上Redis禁用或重新命名危險命令

線上Redis禁用或重新命名危險命令

和Mysql中查詢使用select*一樣,Redis中線上使用keys *命令,也是非常危險的。因此線上的Redis必須考慮禁用一些危險的命令,或者儘量避免誰都可以使用這些命令,Redis沒有完整的管理系統,但是也提供了一些方案。

Redis支援命令重新命名和命令禁用。

看下Redis的配置檔案

# Command renaming. 命令重新命名
#
# It is possible to change the name of dangerous commands in a shared
# environment. For instance the CONFIG command may be renamed into something
# hard to guess so that it will still be available for internal-use tools
# but not available for general clients.
#
# Example: 重新命名的方式
# rename-command   命令名   新命令名
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52
#
# It is also possible to completely kill a command by renaming it into
# an empty string:
# 禁用命令的話,直接重新命名為""就可以了
# rename-command CONFIG ""
#
# Please note that changing the name of commands that are logged into the
# AOF file or transmitted to slaves may cause problems.

下面整理了一些危險命令,線上的話需要考慮禁用或者重新命名,如有線上有用Redis的,或者將部署Redis建議考慮,天知道誰哪天會手賤呢

rename-command KEYS ""         // 必禁命令,線上用這種查詢方式絕對是不對的
rename-command FLUSHALL "" // 必禁命令,誰會清除資料呢
rename-command FLUSHDB ""  // 必禁命令,誰會清除資料呢
rename-command CONFIG ""     // 可以考慮重新命名下