自2019年10月18日起,梦幻辰风就开始针对这一个地方屏蔽了那一个地区的访问。
最初我是通过又拍云CDN来实现的,但是随着网站的备案号被注销后,又拍云CDN就暂停了我的接入。
随后呢,我采用了淘宝IP的API,但是发现有限制:每个用户的访问频率需小于1qps。作为一个文科生,我也不知道1qps是什么意思。随后,看着IPIP,发现那一家在线API也有限制——直接对梦幻辰风的IP返回429。
最后,在 @慕若曦 同学的帮助下,根据ipip的离线数据库搭建了自己用语验证的IP地址库。
在这里,我分享给大家的是 @羽忆江南 同学提供的API,如果您有需要,可以自己搭建。在微信搜索“梦幻辰风”,关注后回复“IP”即可下载程序(PHP脚本)。
至于如何使用?把以下代码放在网站的index.php头部即可。
作为一个菜鸡,只能用最详细的注释来保证自己不会忘记写的什么。如果这个能帮到你,十分荣幸。
<?php /* * Title :定点屏蔽一个位置的访问 * Author:姜辰 * Time :2020/03/17 * About :这是基于 @羽忆江南 的API搭建的。这个IP数据库来自ipip.net的离线数据,有需要自己搭建的可以关注梦幻辰风公众号回复“IP”获取下载。(感谢 @慕若曦 帮忙写的代码。)如果 @羽忆江南 提供的API失效了,您可以自己搭建一个。 */ header("Content-type:text/html; charset=utf-8");//确认好编码。 error_reporting(0);//屏蔽报错 if(empty($_COOKIE["UserCity"])){ //没有cookies,第一次来吧? $api="https://api.yyer.net/ipip/user.php?ip=".$_SERVER['REMOTE_ADDR'];//接口 $data=file_get_contents($api);//直接读取接口 wall($data);//对接口进行处理 } else{ //有cookies,不是新人 wall($_COOKIE["UserCity"]); } function wall($data){ //一个很辣鸡的函数 if($data=="台湾"){ //我们选择要屏蔽的省份,此处的“台湾”为示例。梦幻辰风并未屏蔽台湾。杠精勿扰。 //拒绝访问的跳转地址 header("Location: /NoAccess.html"); //在这里,我们可以添加一个判断,如果访问者带有相关参数,则可以直接访问,实现白名单的效果。 } //如果不是我们要屏蔽访问的省份 //那就为它写入Cookies setcookie("UserCity",$data,time()+2592000);//保存用户cookies,减少对API的访问 }
这个在什么时候会用到呢?
比如,备案的时候你只想让你们管局无法访问?
比如,因为约谈的原因你需要拒绝一个地方的审查?
比如,你看姜辰不顺眼想屏蔽慕若曦所在的那个省份的访问?
假如,你想让某个地方少部分人可以访问呢?
给他们做一个APP客户端吧!然后在wall函数里,添加一个访问的参数,有那么参数直接写入可以访问的cookies。
最后,如果觉得有用,不如关注下“梦幻辰风”?
附:
全文完 [ 喜欢本文,打赏作者! ]