纸飞机电报 API 接入后,如何实现用户身份验证?避免非法调用?​

抚风亦念竹抚风亦念竹09月13日3013

我们接入了纸飞机电报的api,但担心别人乱用怎么办?如何判断是自己的网站用户在使用?

4 个回答

申佳思
申佳思回答于 09 月 13 日
最佳答案

首先你得自己搞个用户登录系统,注册+密码登录那种。用户登录成功后,你的系统里记录一个唯一标识,比如用户ID、token啥的。

调用Telegram API的时候,把这个标识当参数传过去,后端校验一下这个标识是否合法,是不是你系统的用户发过来的请求。这样就能知道是不是你网站的人在用了。

另外你可以加个IP白名单,限制只有你服务器的IP才能访问Telegram API接口。防止别人绕过你的网站直接调用。

最后建议你接口加个签名机制,每次请求都带个加密后的签名,保证请求来源可信。这样基本就能防住非法调用了。

笃梦菲
笃梦菲回答于 09 月 17 日

首先在你自己的系统里给每个用户分配一个唯一的 ID(比如用户 ID 或 token)。

然后在调用 Telegram Bot API 时附上这个 ID。

这样你就能知道是谁发的请求,也能控制频率。

另外建议使用 HTTPS + 自签名 Token 的方式加密通信,避免被窃听。

最后在后台加上日志记录模块,可疑行为立刻报警。

轻舟已难续
轻舟已难续回答于 09 月 18 日

接入了 Telegram API,防止别人乱用的重中之重就是用户身份校验。

你可以这么干:

1. 用户登录的时候获取 Telegram 的 auth_key 或者 user_id,保存在服务端。

2. 每次请求的时候带上这个标识,服务端验证是不是你的系统用户。

3. 配合 IP 白名单、访问频率限制(比如 rate limit)。

4. 用 bot token 的时候,注意权限只开放必要的,不要全权暴露。

这样基本可以确定是你的网站用户在用了。另外还可以加一层自定义 Token,更安全一点。

后若翠
后若翠回答于 09 月 19 日

纸飞机电报API的认证,关键是token和bot权限控制。可以这么搞:

1、设置bot时,生成专属token,不要随便泄露;

2、通过chat_id或者用户名来记录用户,只让注册用户来操作;

3、后台加访问频率限制,防止刷接口;

4、用中间服务器封装API,前端不直接对接Telegram。

这样就能保证只有自己网站的用户才能调用,避免被滥用。弄清用户身份,接口就安全了。

您的答案