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

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));
    }

相关推荐

  1. 获取客户前端IP地址

    2024-07-18 08:10:04       20 阅读
  2. 怎么获取客户真实IP?GO

    2024-07-18 08:10:04       57 阅读
  3. FRP + nginx 获取客户真实IP

    2024-07-18 08:10:04       65 阅读
  4. Nginx(二十) 获取真实客户IP

    2024-07-18 08:10:04       41 阅读
  5. vue获取主机idIP地址

    2024-07-18 08:10:04       49 阅读
  6. 解决 docker swarm 节点容器无法获取客户真实IP

    2024-07-18 08:10:04       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 08:10:04       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 08:10:04       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 08:10:04       57 阅读
  4. Python语言-面向对象

    2024-07-18 08:10:04       68 阅读

热门阅读

  1. Excel表格导出

    2024-07-18 08:10:04       18 阅读
  2. 将一个tensor可视化

    2024-07-18 08:10:04       22 阅读
  3. Tomcat长连接源码解析

    2024-07-18 08:10:04       19 阅读
  4. 华为欧拉openEuler24.03 rpm安装 MySQL8.4

    2024-07-18 08:10:04       24 阅读
  5. 深入解析Apache Hive架构

    2024-07-18 08:10:04       22 阅读
  6. strncpy 和 snprintf 的区别

    2024-07-18 08:10:04       22 阅读
  7. Kafka系列之:Kafka存储数据相关重要参数理解

    2024-07-18 08:10:04       17 阅读
  8. Oracle(8)什么是Oracle实例(Instance)?

    2024-07-18 08:10:04       22 阅读
  9. python 迭代器介绍 map() 函数

    2024-07-18 08:10:04       18 阅读
  10. Linux chmod 命令简介

    2024-07-18 08:10:04       24 阅读
  11. QT+winodow 代码适配调试总结(三)

    2024-07-18 08:10:04       20 阅读