当前位置:首页 » 《休闲阅读》 » 正文

获取客户端(前端)IP地址

23 人参与  2024年11月16日 12:01  分类 : 《休闲阅读》  评论

点击全文阅读


1.主要使用场景

        查看操作记录等

2.实现原理

        在前端的 Vue.js 应用中,通常是无法直接获取到当前电脑的局域网 IP 地址的,因为浏览器限制了这类敏感信息的访问。局域网 IP 地址是客户端(浏览器)到服务器端(通常是后端)的连接信息,而不是直接从浏览器获取的。

        一般情况下,你可能需要通过后端接口来获取客户端的 IP 地址。在 Vue.js 中,可以通过向后端发送请求来获取客户端的 IP 地址。后端可以通过读取请求的 IP 地址头部来获取客户端的真实 IP。

3.代码

        3.1前端增加登录记录代码示例

        向后端发送除IP外的其他需要记录的数据

    //添加登陆记录    insertLoginLog() {      this.logForm.loginTime=this.getCurrentTime();      this.logForm.empcode=this.loginForm.loginName      console.log(this.logForm)      insertLoginLog(this.logForm)        .then((res) => {          if (res.data.code === 200) {            this.$message({              message: "登录成功",              type: "success",            });          } else {            this.$message.error(res.data.message);          }        })        .catch((err) => {          this.$message.error("添加登录记录异常");          console.log(err);        });    },
               3.2后端增加登录记录示例

                后端接收请求并获取请求发送的IP地址

    /**     * 新增登陆记录     * @param     * @return     */    @PostMapping("/api/user/insertLoginLog")    public Result insertLoginLog(@RequestBody LoginNumber loginNumber,                                 HttpServletRequest request,                                 @RequestHeader(value = "X-Forwarded-For", required = false) String clientIp){        if (clientIp == null) {            clientIp = request.getRemoteAddr(); // 获取默认的客户端 IP 地址        }        loginNumber.setLoginIP(clientIp);        return new Result(200,"",userService.insertLoginLog(loginNumber));    }


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/187049.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1