OwO-Network / nexttrace-experiment

An open source visual route tracking CLI tool (experiment field)
GNU General Public License v3.0
492 stars 34 forks source link

不是很明白 web api token 的用处 #15

Closed guaguaya66 closed 2 years ago

guaguaya66 commented 2 years ago

你正在使用哪个版本的 nexttrace?

linux_amd64

你看到的异常现象是什么?

我发现 web api token 在前端的文档上面,这样请求的用处在哪

image

你期待看到的正常表现是怎样的?

请附上你的命令

请附上出错时软件输出的错误信息

sjlleo commented 2 years ago

Hi guaguaya66,

此举是为了防止网络上很多简单 Bot 直接抓取 API 提交大量无效请求,多一道 Token 可以有效将最简单也最常见的滥用行为拦截,从而避免服务器资源耗尽。

Looking Glass 目前应用广泛的还是 telephone/LookingGlass PHP 版本的经典应用,此版本没有对爬虫做任何的限制,导致容易被爆接口。至于单独研究过 NextTrace Token API 直接从页面获取 Token 并请求的 bot,不在本功能的探讨范围内。

你可能觉得这个东西直接暴露在网页上毫无意义,但是事实上这些小门槛就可以拦住大部分攻击,这个页面将在未来变成 Vue.js 编写的打包版本,会对 Token 进行简单混淆后提交参数,但是哪怕这样也无法拦住那小部分的滥用,因为真想滥用的人,自然会查看我开源在 Github 上未经混淆的源码的,里面对 Token 加密解密处理过程,他们照搬就是。

如果你觉得页面上的 Token 最好能够成为一个 input 输入框,需要自己输入,那可以到 ~/.nexttrace/index.tmpl 里面去修改源码,将

<input type="text" id="token" name="token" value="{{.token}}" hidden>

修改为

<input type="text" id="token" name="token">

然后重启 NextTrace 以生效。

如果你有很好的想法,也欢迎提交 PR,以上。

Thanks!

Best Regards, Leo Shen

sjlleo commented 2 years ago

如无其他问题,此贴将被关闭,如有更多疑问,可以另起 issue