把博客封禁UA的功能关了,头大
温馨提示:
最后更新时间2021-04-23 18:00:43,若内容或图片失效,请留言反馈!
最近 哥斯拉 朋友反映博客打不开,根据和沟通的情况,应该是UA被误封了。
我之前的防火墙策略是,针对UA封禁UA部分字段,假如有一个UA长这样:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0
如果这个UA是非法访问博客的UA,程序自动截取除了逗号括号等以外的任何一段,追加到UA黑名单中,例如可能截取【AppleWebKit/537.36】,也可能截取【Chrome/80.0.3987.87】,或者【Chrome】。
乍一看好像没什么问题,但实际上,如果恰好截取的是第三个【Chrome】这样了字段,那会直接封禁一大片用户,我在写程序的时候,也考虑到这个了,随后加了一个版本号,即【Chrome/80.0.3987.87】。
这样就能缩小UA范围,但这样的策略还是有问题,有不少人用的浏览器谷歌内核版本可能是相同的,这样会出现诸如360浏览器、QQ浏览器、搜狗浏览器等一堆用谷歌内核的朋友也被禁了。
于是,今天把封禁UA的部分代码修改了,如果有问题,就封禁一整条UA,即【Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36 SE 2.X MetaSr 1.0】,这样误封的概率就小多了。
但,即便是这样,也还是有误封的可能,尤其是一些常用的浏览器版本,所以。
就干脆把程序自动封禁UA的功能关了。
现在留在UA黑名单里的,是一些爬虫UA,和国外非法UA。
如果还有被封禁的UA,唉~~我只能清空UA黑名单了。