2

Redis安全最佳实践建议重命名命令以抑制未经授权/意外执行。 使用 ServiceStack.Redis 客户端发出任意(重命名)命令的最佳方法是什么?

到目前为止我们已经尝试过什么:我们已将PUBLISH命令重命名为HSILBUP。我尝试使用以下代码块来发出HSILBUP命令。这会导致FlushSendBuffer调用时出现空引用异常。我使用这些方法是因为它们的名称暗示了我想要的行为。我不知道这是否是他们的预期功能。

var command = new[]
{
    ToByteArray("HSILBUP"),
    ToByteArray("channel"),
    ToByteArray("message")
};

redisClient.WriteAllToSendBuffer(command);
redisClient.FlushSendBuffer();
4

1 回答 1

1

最简单的更改是直接在 ServiceStack.Redis 项目代码中进行更改。您需要更改 Commands.cs

将其更改为:

public readonly static byte[] Publish = "PUBLISH".ToUtf8Bytes();

至:

public readonly static byte[] Publish = "HSILBUP".ToUtf8Bytes();
于 2013-11-25T01:07:28.367 回答