引言
对于Access插件的一些魔改,这里引用了自带的接口和高德的API
已知问题
(AMAP) 对于IP返回的多个地址有可能是两个,也有可能是一个,没有做判断,直接进行调用,懒得改了。
目的
不用一个一个的点击了,直接就能知道访问者IP所对应的地址
过程
修改Access目录里的page中的Console.php,在结尾处加上下面的代码。已经修改了异常。
<!-- 注入的脚本 查询所有ip的地址 -->
<script>
$.each($("a[data-action=ip]"), function (i, item) {
var ip = $(item).text();
$.ajax({
url: 'https://www.zunmx.top/index.php/access/ip.json',
method: 'get',
dataType: 'json',
timeout: 5000,
data: {
'ip': $(item).text()
},
success: function (data) {
if (data.code == 0) {
$(item).append("<br/>" + "默认库:" + data.data);
amapIP(item, ip);
} else {
amapIP(item, ip);
}
},
error: function () {
amapIP(item, ip);
}
});
})
function amapIP(item, ip) {
$.ajax({
url: 'https://restapi.amap.com/v3/ip?key=高德Key&type=4',
method: 'get',
dataType: 'json',
data: {
'ip': ip
},
success: function (data) {
try{
let locations = data.rectangle.split(";");
var sec = 0;
for (sec = 0; sec < locations.length; sec++) {
if (data.infocode == 10000) {
$.ajax({
url: 'https://restapi.amap.com/v3/geocode/regeo?key=高德Key',
method: 'get',
dataType: 'json',
data: {
'location': locations[sec]
},
success: function (data) {
if (data.status == 1) {
$(item).append("<br/>Amap" + sec + ":" + data.regeocode.formatted_address);
} else {
$(item).append("<br/>" + "-获取失败");
}
},
error: function () {
$(item).append("<br/>" + "-获取失败");
}
});
} else {
$(item).append("<br/>" + "-获取失败");
}
}
}catch{
}
},
error: function () {
$(item).append("<br/>" + "-获取失败");
}
});
}
</script>

评论 0
还没有评论,来说点什么吧。