如何使用Java对一个局域网内的机器限流

平菇虾饺 2018-07-18 11:57:23
使用Java做项目的时候, 往往会做限制访问频率措施。 最简单的做法就是通过IP计数来做。 例如一个ip一个时间段内只能访问多少次。

但是这种做法针对于来自于一个局域网内的某台机器的访问, 就很有可能会误伤了。

例如大部分公司的出口Ip就一个, 每次Java获取到的ip也就是这个出口的ip。 针对这种情况, 如何做到限流呢??
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
平菇虾饺 2019-04-25
  • 打赏
  • 举报
回复
实现这个功能的原理很简单。 问题: 针对出口IP只有一个的某局域网, 服务器只能获取该局域网的出口IP。 期望针对该局域网进行限流。 实现方式: 基础:基于IP的限流目的是使用一个特定的标记来识别某台机器,原理与之类似, 即可以使用某一个特定的标记来识别特定的访问请求。 方式: 如果是需要登录,则可以根据登录时颁发给用户的Token来认证。 如果不需要登录,则可以要求访问这个接口功能的时候, 必须根据访问另一个功能带来的token, 然后做到对当前这个访问的IP(可能是局域网出口iP) 的 token颁发限流。
哈希塞特 2018-08-11
  • 打赏
  • 举报
回复
你可以弄个白名单
tianfang 2018-07-18
  • 打赏
  • 举报
回复
你的限流是什么?描述的不清楚

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧