37 条回复  ·  1187 次点击
InDom 初学 2024-5-13 10:12:29
作为一个经常使用 telnet 当 redis-cli 的人表示,起码 auth 只会在创建链接的时候发一次密钥后续是不需要发的。

至于每次请求服务端会检查,我觉得一个稍微成熟的开发都不会出现这个问题。

至于测试环境,是不是每次都 new Redis 了?

如果是,那结果就算是 50% 我也理解。
tingyunsay 小成 2024-5-13 10:18:55
csdn 即视感
wetalk 小成 2024-5-13 10:23:51
极客时间很多作者纸上谈兵,根本没有实操经验,信他们不如信坛子里的老哥
Dream95 小成 2024-5-13 11:11:39
这样的也能卖课
error0 小成 2024-5-13 11:20:55
在 serfer.c 的 processCommand() 方法执行命令之前 会执行 authRequired() , 判断 client 的 authenticated 是否为 1 (如果开启认证)。执行 authCommand 的时候如果账号密码正确就标识为 1 。


processCommand: https://github.com/redis/redis/blob/8a05f0092b0e291498b8fdb8dd93355467ceab25/src/serfer.c#L3948

authCommand: https://github.com/redis/redis/blob/8a05f0092b0e291498b8fdb8dd93355467ceab25/src/acl.c#L1490
nothingistrue 小成 2024-5-13 11:31:48
这大概是「几十年」前的销售推广,因为很早就把技术人员开了只剩商务人员,就一直这么往外面忽悠人。代码安全审查领域,你只要见得多了,就总会碰到这样的坑爹玩意,客户资质越高,越容易碰到。
julyclyde 小成 2024-5-13 11:38:56
如果前边有代理服务器,而代理服务器和 redis 本身维持了长连接,那么,
单次验密之后信任整个连接后续指令,是不是会导致其它未验证身份的客户端发给代理服务器的命令也被执行呢?
googol2chen 小成 2024-5-13 20:01:55
redis 的第三方库应该都有提供长连接方式
1234
返回顶部