2013-06-04 3 views
2

Redis security best practices은 권한이 없거나 의도하지 않은 실행을 억제하기 위해 명령의 이름을 바꾸는 것이 좋습니다. ServiceStack.Redis 클라이언트에서 임의의 (이름이 바뀐) 명령을 실행하는 가장 좋은 방법은 무엇입니까? 우리가 지금까지 시도했다ServiceStack.Redis 클라이언트를 사용하여 Redis에 임의의 명령을 보내는 방법은 무엇입니까?

:는 우리는 HSILBUP 명령을 게시 이름을 변경했습니다. 다음 코드 블록을 사용하여 HSILBUP 명령을 실행하려고 시도했습니다. FlushSendBuffer이 호출되면 null 참조 예외가 발생합니다. 그들의 이름이 내가 원하는 행동을 제안하기 때문에 나는이 방법을 사용하고 있습니다. 나는 이것이 의도 된 기능인지 전혀 모른다.

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

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

답변

1

가장 쉬운 변화는 ServiceStack.Redis 프로젝트 코드에서 직접 변경 사항을 확인하는 것입니다. 당신은 Commands.cs에게

변경을 변경할 수 있습니다이에서 :

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

에 :

public readonly static byte[] Publish = "HSILBUP".ToUtf8Bytes(); 
관련 문제