防火车头采集的功能
程序员文章站
2022-06-16 23:26:13
...
求一个防火车头采集的功能
快两年没动代码了,最近自己弄了一个站玩。
有些资料老被火车头拖来拖去的。
求一个完整的防火车头采集的功能模块。
自己弄了半天 思路是这样的比如在某一个时间段ip多次请求 就把该ip禁止掉,没搞好
如有需要我可以贴出我写的整个代码流程。
------解决方案--------------------
------解决方案--------------------
存文件也行,一个Ip一个文件,按照ipv4的4字节建多级目录,存储的内容是序列化一个数组,数组的元素一个是首次访问时间,另一个是从首次访问以来的计数,这样控制很简单。
------解决方案--------------------
mark,这个功能不错,如果消耗不大的话
------解决方案--------------------
------解决方案--------------------
我比较支持这个
------解决方案--------------------
仅用 ip 识别是不够的
如果访问来自局域网,那么就可能屏蔽掉正常的访问了
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
使用 session 或 cookie token (以下简称键)再结合 IP
在指定的时间间隔中,自同一 ip 第二次访问起,检查键是否存在
如不存在则视为非法入侵
如存在(采集程序也会模拟键机制),记录和检查请求中的内容唯一键是否呈现列表页的排序规则
如有 3 个以上符合,则视为非法入侵
------解决方案--------------------
对,反作弊策略必须是综合考虑的,逐渐修正的,一步到位不现实。
基于IP的就像唠叨提到的,NAT背后的客户端仅仅使用几个出口IP,尤其是学校与大型企业,很容易误杀。这群用户的特点是这样的:
1,IP相同,访问频繁。
2,COOKIE不同。
针对这种正常用户,应该设计白名单,也就是很普遍的思想,黑中有白,白中有黑。
坏人用IP限制,好人用SESSION放,就这么简单,其他更多复杂的判定可以自己考虑加进去,比如注册时间久,活跃的老用户,允许他频率稍高一些。登录用户比未登录用户要稍高一些。
就说你的,说实话COOKIE这个东西不可信,但可以拿来减少误杀也不错了。IP频率超出限制,则检查SESSION,根据SESSION里记录的访问频率和访问记录放行,但你要知道坏人借助你这个软弱的判定,就会不提交COOKIE,所以我说SESSION里记录“访问记录”也很重要。误杀再所难免,绝大多数时候需要人工封号与解封,需要借助COOKIE和SESSION追踪更多的用户行为,比如用JS在页面里定时AJAX提交访问记录,鼠标轨迹,当然有COOKI UID标记用户唯一身份,单纯依赖服务端判定太难了,一会就把用户赶走了。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
思路有待提高,
------解决方案--------------------
帮你顶一下吧,这个问题很多人都遇到,只能根据你用户的访问规则,逐渐改善。
------解决方案--------------------
快两年没动代码了,最近自己弄了一个站玩。
有些资料老被火车头拖来拖去的。
求一个完整的防火车头采集的功能模块。
自己弄了半天 思路是这样的比如在某一个时间段ip多次请求 就把该ip禁止掉,没搞好
如有需要我可以贴出我写的整个代码流程。
------解决方案--------------------
------解决方案--------------------
存文件也行,一个Ip一个文件,按照ipv4的4字节建多级目录,存储的内容是序列化一个数组,数组的元素一个是首次访问时间,另一个是从首次访问以来的计数,这样控制很简单。
------解决方案--------------------
mark,这个功能不错,如果消耗不大的话
------解决方案--------------------
------解决方案--------------------
我比较支持这个
------解决方案--------------------
仅用 ip 识别是不够的
如果访问来自局域网,那么就可能屏蔽掉正常的访问了
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
使用 session 或 cookie token (以下简称键)再结合 IP
在指定的时间间隔中,自同一 ip 第二次访问起,检查键是否存在
如不存在则视为非法入侵
如存在(采集程序也会模拟键机制),记录和检查请求中的内容唯一键是否呈现列表页的排序规则
如有 3 个以上符合,则视为非法入侵
------解决方案--------------------
对,反作弊策略必须是综合考虑的,逐渐修正的,一步到位不现实。
基于IP的就像唠叨提到的,NAT背后的客户端仅仅使用几个出口IP,尤其是学校与大型企业,很容易误杀。这群用户的特点是这样的:
1,IP相同,访问频繁。
2,COOKIE不同。
针对这种正常用户,应该设计白名单,也就是很普遍的思想,黑中有白,白中有黑。
坏人用IP限制,好人用SESSION放,就这么简单,其他更多复杂的判定可以自己考虑加进去,比如注册时间久,活跃的老用户,允许他频率稍高一些。登录用户比未登录用户要稍高一些。
就说你的,说实话COOKIE这个东西不可信,但可以拿来减少误杀也不错了。IP频率超出限制,则检查SESSION,根据SESSION里记录的访问频率和访问记录放行,但你要知道坏人借助你这个软弱的判定,就会不提交COOKIE,所以我说SESSION里记录“访问记录”也很重要。误杀再所难免,绝大多数时候需要人工封号与解封,需要借助COOKIE和SESSION追踪更多的用户行为,比如用JS在页面里定时AJAX提交访问记录,鼠标轨迹,当然有COOKI UID标记用户唯一身份,单纯依赖服务端判定太难了,一会就把用户赶走了。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
思路有待提高,
------解决方案--------------------
帮你顶一下吧,这个问题很多人都遇到,只能根据你用户的访问规则,逐渐改善。
------解决方案--------------------
相关文章
相关视频
上一篇: php中数组的遍历方法及细节(笔记)
下一篇: Access的控件布局之控件对齐