请问怎么禁掉境外 ip 访问,阿里云的服务器。已做频率限制,增加图形验证码。又怕图形验证码被识别,现在都不敢往里充值了。
1
StinkyTofus 134 天前
限制频率, 增加验证码, 已经够了, 再增加限制就太影响用户体验了, 如果这样还承受不了, 换其他方式吧。
|
2
llcxx 134 天前
判断 IP 是否中国 IP 段,不是就默认不发短信就好
|
3
nai1si OP 怎么判断 ip 是不是境内 ip
|
6
37Y37 134 天前 via Android
通过 DNS 解析,境外的不解析或者解析个错误的地址,很多 DNS 都提供这功能,例如阿里云
|
8
fredcc 134 天前
云防火墙-防护配置-访问控制-互联网边界-入向策略
waf 也有类似设置 |
9
gaobh 134 天前 via iPhone
dns 侧,线路选境外,解析到 127.0.0.1 即可
|
10
zjsxwc 134 天前
https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt
写个 bash 脚本让 iptables 只允许上面的中国 ip 访问就行 #!/bin/bash # 清空所有规则 iptables -F # 允许本地回环接口的通信 iptables -A INPUT -i lo -j ACCEPT # 允许已建立的连接和相关连接 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 获取中国的 IP 段列表(这需要您事先准备好) CHINA_IP_RANGES=( "1.0.1.0/24" "2.0.0.0/16" # ..... 添加更多的中国 IP 段 ) # 对于每个中国的 IP 段,添加允许规则 for ip_range in "${CHINA_IP_RANGES[@]}" do iptables -A INPUT -s $ip_range -j ACCEPT done # 拒绝其他所有的输入连接 iptables -A INPUT -j DROP |
12
EdisonEdz 134 天前
geoip ,加个实现包判断下 ip 就好了
|
14
SilenceLL 134 天前
用 nginx + geoip 封掉就可以,你可以看下 nginx access 日志,里面的 country 字段是否跟你的预期一致。
|
15
nai1si OP 研究研究
|
16
abccccabc 134 天前
你的验证码换成汉字,目前能识别汉字图形的系统不多吧?
|
17
flytsuki 134 天前
让运费在防火墙拦截,只开放中国的 ip 段
|
18
VagrantZ 134 天前
|
19
eluotao 134 天前
直接非注册用户不发验证码。
|
20
feiyan35488 134 天前
@nai1si 有免费的 ip 库,如 ipip
加上验证码,尽量用滑动或智能验证码,提升用户体验 |
21
lambdaq 134 天前
|
24
nai1si OP @feiyan35488 滑动验证码是否涉及到机器学习
|
26
eluotao 134 天前
分 3 部:
1 、先分析 ip + 浏览器指纹国内还是国外 任何 ip 提交超过 2 个号码 就把号码和 ip 加黑名单 有免费 收费 2 、再分析提交号码是否虚拟号等不正常运营号码 只要是,直接返回拒绝 此方法免费 3 、最后商用验证码 滑块即可 免费 收费 都有 这样下来基本就能解决大部分黑产,少量有技术的,还有一部分,就上微信扫码 |
28
feiyan35488 133 天前
@nai1si 建议用商用的,不是很贵
免费的话,可以找开源的,或商用产品的试用流量 |
29
alamak76 133 天前
1. cloudflare
2. 自家防火门,用 ip2location ip 库来防国外。 |