📜  Web 服务获取调用方 ip 地址 (1)

📅  最后修改于: 2023-12-03 15:35:40.082000             🧑  作者: Mango

Web 服务获取调用方 IP 地址

在 Web 应用程序中,有时需要获取调用方的 IP 地址,这个 IP 地址可以用于记录访问日志或限制访问等场景。本文将介绍如何用不同的编程语言来获取调用方的 IP 地址。

PHP

在 PHP 中,可以通过 $_SERVER 全局变量来获取调用方的 IP 地址。具体来说,可以使用 $_SERVER['REMOTE_ADDR'] 来获取 IP 地址。例如:

$ip = $_SERVER['REMOTE_ADDR'];

需要注意的是,这种方法获取的 IP 地址可能会被伪造,例如通过代理服务器访问时。

Python

在 Python 中,可以使用 Flask 框架中的 request 对象来获取调用方的 IP 地址。具体来说,可以使用 request.remote_addr 来获取 IP 地址。例如:

from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def hello():
    ip = request.remote_addr
    return 'Hello, your IP address is {}'.format(ip)

需要注意的是,与 PHP 中类似,这种方法获取的 IP 地址也可能会被伪造。

Node.js

在 Node.js 中,可以使用 Express 框架中的 request 对象来获取调用方的 IP 地址。具体来说,可以使用 request.ip 来获取 IP 地址。例如:

const express = require('express')

const app = express()

app.get('/', (req, res) => {
  const ip = req.ip
  res.send(`Hello, your IP address is ${ip}`)
})

app.listen(3000, () => {
  console.log('Listening on port 3000')
})

需要注意的是,与 PHP 和 Python 中类似,这种方法获取的 IP 地址也可能会被伪造。

总结

以上就是在不同编程语言中获取调用方 IP 地址的方法。需要注意的是,获取的 IP 地址可能会被伪造,因此在关键场景下应当结合其他安全措施来确保安全。