V2EX psydonki 的所有回复 第 1 页 / 共 2 页
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX    psydonki    全部回复第 1 页 / 共 2 页
回复总数  36
1  2  
@particlec 西欧这边 15-20 欧,估计英国也差不多 [ doge ]
@TimPeake 电动车没怎么见过,倒是电动自行车越来越多…小年轻一个个在自行车道上“开”的飞快,有点鬼火少年的意思了
2022 年 12 月 8 日
回复了 MXXXXXS 创建的主题 北京 公司有阳性还来继续上班
不是开玩笑。

按照正常的剧情,应该很快有第一波高峰,大约 1 月初,大家都会经历一遍身边陆续有人感染。

理性的说,因为医疗资源可能发生挤兑,最好能够避免在这个期间感染,或早或晚。
最终大家可能都得一次,如果是年轻人,真的可以考虑让自早一点感染,之后有至少 6 个月免疫期,从而避开高峰。

你同事给你机会呢...
2022 年 6 月 29 日
回复了 Martin9 创建的主题 Kubernetes k8s pod 莫名奇妙异常
@Martin9 感觉跟我现在遇到的问题很像…目前的想法是看能不能用 ephemeral container, 挂载到出问题的 pod 上, 再通过 netstat 看具体的连接状态。

https://kubernetes.io/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container
terraform 貌似就是为了解决这个问题的

https://i.imgur.com/gIw11Fm.png
github 上中文的内容也很多,新建一个公开的仓库,修改 readme.md 就可以。
有监督才会有进步
2022 年 6 月 3 日
回复了 Eyon 创建的主题 问与答 没搞懂 HTTP 请求的安全验证,求指导!
@byte10 估计你没看懂我的回答...

图片在这个帖子加不上了,可以查看我回复历史,最近的那个图片;


对于普通用户而言,获得自己的短期 access_token 没有问题;当然也可以 copy 出来通过 postman 请求后端的资源;
比如像这样的 header ,Authorization: Bearer {{jwt}}


OP 这样实现的问题在于同时暴露了后端服务的地址和长期 /固定 token ;
最明显的隐患在于,假设用户 A 获取自己信息的 url:
https://api.abc.com/users/12345
headers:
Authorization: Basic {{base64 encoded username:password}}

假设 12345 是用户 id, 我完全可以猜测 id 就是一个递增序列,通过 postman 去请求其他人的信息;
https://api.abc.com/users/12346
headers:
Authorization: Basic {{base64 encoded username:password}}

@Eyon 不确定解释清楚了没有,如果你们团队的架构是微服务的话,你可以 Google 一下 azure api gateway.
2022 年 6 月 3 日
回复了 Eyon 创建的主题 问与答 没搞懂 HTTP 请求的安全验证,求指导!
OP 你是对的,确实不应该将后台服务的 token 直接暴露给浏览器。
感觉你们团队也在摸索前后端分离和微服务...


你可能有点混淆了 Authorization 和 long term token;

拿 jwt 最佳实践来说,Authorization 中应该传登录行为产生的 access_token ( jwt ),一般过期时限为 15~60 分钟;具体步骤参见 @libook 41 楼。

long term token 一般是用在 Server to Server 通信时的简单校验; 如下图中 gateway 和 Service 之间。


所以一般微服务框架中会存在一个 API gateway 的角色,用来向前端返回和校验 jwt ;
同时充当反向代理,与后台服务进行交互,如果后台服务也是暴露在公网的情况下,出于安全考虑就会用到 long term token;


一图胜千言,


当然在实际的项目中,还是根据自己的需要,可以选择对应的云服务或者自己简单实现一个;
我自己 Next.js 项目中的样例:

```
// src/pages/api/v1/[...param].js
import axios from 'axios';

export default async (req, res) => {
const instance = axios.create({
baseURL: process.env.LC_API_BASE_URL,
headers: {
'token': process.env.LC_API_TOKEN,
'Content-Type': 'application/json',
}
});

try {
var response;

if (req.method === "GET") {
respOnse= await instance.get(req.url);
}
else if (req.method === "POST") {
respOnse= await instance.post(req.url, req.body);
}
else if (req.method === "PUT") {
respOnse= await instance.put(req.url, req.body);
}
res.status(200).json(response.data)
} catch (err) {
var respOnse= err.response;
res.status(response.status).json(response.data);
}
}

```
2022 年 5 月 31 日
回复了 AllenHua 创建的主题 哔哩哔哩 聊聊当下的 B 站
B 站广告业务太过于理想化。

作为一个 b 站重度使用者和浮亏超过 50%的韭菜,唯一能做的,就是给制作精良的恰饭视频一键三连 :(
希望它能把 花火平台(内容即广告) 这条路走通。

目前的弹幕氛围和习惯,还是有一些护城河的。
我不是很懂低 /无代码,感觉演示的功能跟 headless CMS 很类似。
比如:Strapi
2022 年 5 月 19 日
回复了 FringJX 创建的主题 程序员 居家办公两周了,已经忘记上班什么感觉了
@andong777 me too, 感觉在家挺好。
@alzee 哥们,太恶心了吧
2022 年 5 月 18 日
回复了 CJN2021 创建的主题 随想 看完房贴文有感
中国的房价是真的畸形。
特别纳闷大搞房地产,涨价去库存的政策是怎么出台的。
怀疑是被人卖了,还帮人数线。
2022 年 2 月 17 日
回复了 love2075904 创建的主题 Java 单体应用改造微服务疑惑求解
我理解使用 MQ 作为中间件可以很好的解决这个问题。
Sender 只负责向 MQ 发送消息,同时在 Header 里面注明消息的类型:

```json
{
"type": "email"
}
```

然后根据 header 中的类型,将消息分流到不同的 queue 。
模块 B/C 分别是不同的微服务,监听不同的 queue 就好。
vscode + Markdown
2022 年 2 月 15 日
回复了 xQmQ 创建的主题 NGINX Nginx 做反代,设置 SSL 证书问题
推荐一下 certbot.

我都是直接 certbot ,选择你要部署的域名,它自己就搞定了...
1  2  
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4959 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 50ms UTC 09:46 PVG 17:46 LAX 01:46 JFK 04:46
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86