如何在PHP中获取客户端IP地址

2023-11-27

如何使用 PHP 获取客户端 IP 地址?

我想保留通过 IP 地址登录我的网站的用户的记录。


Answer recommended by PHP Collective

无论您做什么,请确保不要信任客户端发送的数据。$_SERVER['REMOTE_ADDR']包含连接方的真实IP地址。这是您能找到的最可靠的值。

但是,它们可能位于代理服务器后面,在这种情况下,代理可能已设置$_SERVER['HTTP_X_FORWARDED_FOR'],但是这个值很容易被欺骗。例如,它可以由没有代理的人设置,或者 IP 可以是来自代理后面的 LAN 的内部 IP。

这意味着如果您要保存$_SERVER['HTTP_X_FORWARDED_FOR'], 确保你also保存$_SERVER['REMOTE_ADDR']价值。例如。通过将这两个值保存在数据库的不同字段中。

如果要将 IP 作为字符串保存到数据库中,请确保至少有足够的空间45 个字符. IPv6它将继续存在,并且这些地址比旧的 IPv4 地址更大。

(请注意,IPv6 通常最多使用 39 个字符,但也有一个特殊的IPv4 地址的 IPv6 表示法完整形式最多可包含 45 个字符。因此,如果您知道自己在做什么,则可以使用 39 个字符,但如果您只想设置并忘记它,请使用 45)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在PHP中获取客户端IP地址 的相关文章

  • 将 DNS 名称指向本地计算机上的 IP 地址

    这可能是一个愚蠢的问题 但我真的很感激任何简洁的答案 我已使用静态 IP 地址 例如 213 221 211 111 在本地计算机上上传了 Joomla 网站 我已在 Godaddy com 上注册了一个域名 例如 www example
  • 如何以 Magento 方式实现库存过滤器?

    在我的 magento 网站上可以看到缺货的产品 我想要在分层导航中添加一个自定义过滤器 其中显示 排除缺货 当客户单击它时 应该隐藏缺货产品 默认情况下 我在 系统 gt 配置 gt 目录 gt 库存 下启用显示 显示缺货产品 即我希望客
  • 如何防止 CakePHP 中重复表单提交?

    我发现 CakePHP 中的安全组件通过将令牌作为隐藏值添加到表单中来帮助防止 CSRF 我想知道是否有办法防止使用此组件或其他组件 帮助器重复表单提交 在之前的项目中 我使用了保存在会话中的唯一哈希值 该哈希值会在提交时读取并删除 重复提
  • 使用 PhpStorm 删除 CakePHP 中的插件后出现“成员有私人访问错误”

    从我的 CakePHP 框架中删除插件以及与其关联的所有代码行后 我在以下位置收到错误getInitializer的功能autoload static php in my vendor gt composer folder public s
  • 为什么当尝试使用 $this->data 访问 CakePHP 时,密码字段为空?

    我正在实现一个身份验证组件 这是我的注册页面 create User array action gt login echo form gt input primary email array size gt 32 echo form gt
  • Ubuntu 18.04升级后php7.2-curl无法安装

    今天从 16 04 升级到 18 04do release upgrade d 在升级过程中 我被告知一些软件包将被删除 其中包括 删除 libperl5 22 lxc common perl modules 5 22 php imagic
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • 访问 public_html 级别之外/以下的文件

    如何通过 url 访问文件 home uzair etc index php 即使我运行域 something com 它显示了 home uzair public html index php 这个文件 任何人请帮助我如何访问放置在 ho
  • PHP 的 PDO 可以限制为单个查询吗?

    PHP 的 PDO 允许通过 query 方法或作为准备好的语句同时执行多个查询 以下两个示例均有效 Two SQL queries query SELECT FROM table DROP table Execute via query
  • Node.js 进行 rsa 加密的正确方法?

    我正在尝试创建一个 WS 来发出肥皂请求 在消息正文中有一个包含加密文本的字段 我有公钥来加密文本 但我获得的唯一结果是文本无法识别 我使用节点的加密模块来发出请求 并且文本已加密 但我不知道为什么没有正确加密 PS我用 openssl p
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • 如何在无法重启的服务器(Apache)上使用gettext?

    我在服务器故障上问了这个问题 https serverfault com questions 104224 how do you use gettext on server apache you cant restart但我没有得到任何回应
  • Azure无法访问React Web应用程序中的env变量

    几年前我看到有一个类似的问题 但超链接答案已被微软关闭 我有一个使用 create react app 创建的 React 应用程序 它已经部署到heroku并加载一些环境变量来访问谷歌地图等 这一切对于heroku来说都工作得很好 我已经
  • 根据通过 AJAX 请求的用户输入重绘 google 图表

    我有一个谷歌图表从我的数据库中提取数据 它可以按我想要的方式工作 根据 URL 中的 get 请求 它从所选表中提取数据 我想根据下拉菜单中选定的表通过 ajax 更新此图表 我无法突破的部分是通过 ajax 获取数据响应 我认为下面的代码
  • 如何在 Laravel 代码中使用 Artisan 命令?

    如何在我的 php caode Ex 中使用 Artisan 命令行 php artisan version to 您可以从控制器调用 Artisan 命令 如下所示 calling of migrate install Artisan c
  • 如何将参数传递给 Symfony2 中的验证约束 - 在 yml 中

    我正在尝试向我的应用程序添加一个包范围的参数 以便我可以将其添加到我的验证约束文件 validation yml 中 myApp myBundle Entity Contact properties name NotBlank messag
  • 从数据库 MYSQL 和 Codeigniter 获取信息

    如果你们需要其他信息 上一个问题就在这里 从数据库中获取信息 https stackoverflow com questions 13336744 fetching information from the database 另一个更新 尽
  • 隐藏产品价格和添加到购物车按钮,但不隐藏 WooCommerce 中未注册用户的变体

    在我的 WooCommerce 商店中 我想隐藏价格 直到客户登录为止 我有以下代码可以实现这一点 add action init hide price function hide price if is user logged in re
  • 高效插入和更新时检查唯一性

    我的员工表中有 2 列 每列值必须是唯一的 staff code staff name staff id staff code staff name 1 MGT Management 2 IT IT staff 当向表中插入或更新项目时 我
  • 无法与站点通信以检查致命错误

    无法与站点通信以检查致命错误 因此 PHP 更改已恢复 您需要通过其他方式上传 PHP 文件更改 例如使用 SFTP 有什么解决办法 我正在 WordPress 中编辑头文件 遇到这个问题 尝试这个 我有同样的问题并决定调查一下 更改 wp

随机推荐

  • 如何在 .NET 4.x 中强制进行完全垃圾回收?

    我在 NET 4 x 中遇到弱引用问题 我正在运行测试以确保某些对象不再被引用 使用 Wea kReferences 并且我注意到跨框架版本的行为不一致 using System using System Text using NUnit
  • 安装 Yosemite 和 Xcode 后缺少 /usr/include?

    看到一个奇怪的问题 但在其他两个工作站上没有发生 最近使用 Xcode 和命令行工具重新安装 Yosemite 后 我发现我的 usr include不存在于该特定工作站上 目前 我可以使用 Homebrew 构建软件包 并且其他各种任务似
  • 在MYSQL中读取JSON数组

    我无法提取 JSON 中的确定数据 我有这个 JSON id 1 type 2 id 2 type 1 我想恢复存储过程中变量中的所有 id CREATE DEFINER root PROCEDURE new procedure a JSO
  • 在 Android Studio 中安装 Vuforia

    谁能给我一些关于如何在 Android Studio 中安装 Vuforia 的说明 我正在制作一个新应用程序 需要将增强现实与 Vuforia 结合使用 希望你能帮我 多谢 您需要执行以下步骤 请阅读我们的入门指南 了解有关设置的说明 J
  • 为什么短破折号 (-) 会触发非法 XML 字符错误 (C#/SSMS)?

    这不是一个如何克服困难的问题 XML 解析 非法 xml 字符 错误 但关于why它正在发生吗 我知道有修复 1 2 3 但在选择最佳解决方案之前需要知道问题出在哪里 是什么导致了错误 我们使用 C 调用基于 Java 的 Web 服务 根
  • 在Java中,this.method()和method()有什么区别?

    打电话有什么区别吗this method and method 包括性能差异 唯一重要的是你是否使用OuterClass this method e g class OuterClass void method class InnerCla
  • 将 C# 项目从 Visual Studio 2010 降级到 Visual Studio 2008

    我编写了一个 Visual C 2008 Windows 窗体应用程序 然后我在装有 Visual Studio 2010 的计算机中编辑了代码 但我无法再在 Visual 2008 中运行它 有什么办法可以做到这一点 当你说 无法再运行它
  • 在ggplot2中组合条形图和折线图(双轴)

    I have double y axis图表制作于Excel 在 Excel 中 它只需要基本技能 我想做的是使用复制此图表ggplot2图书馆在R 我已经这样做了 但我需要绘制响应2nd y axis 我附上我使用过的可重现代码 Data
  • 缺少ServletRequestParameterException

    我将一个 formData 对象传递到我的 Spring 后端 imageBanner banner File bannerPath string id number callback response gt void var formDa
  • 实体框架 4 和默认值

    我可能遗漏了一些东西 但是实体框架 4 生成的 SQL Server 2008 R2 数据库缺少我通过 EF 设计器配置的默认值 有什么想法我可能做错了什么吗 原因是因为您可以在概念模型和数据库默认值中设置的默认值是完全不相关 让我们考虑一
  • Excel 支持的 Html 元素

    最近我发现 如果您将一些 html 标记保存为 xls 它将在 Excel 中打开 与您的所有样式完美配合 例子 我的文件 xls table tr td style background red text align center bor
  • 如果加载的 ng 样式图像无效,则背景默认图像

    我像这样向我的 div 添加背景图像 ng style background image url myvariable for image gt 其中 myvariable for image 是类似 examplesite image i
  • Bulletproof 使用 Python 进行编码

    关于Python2中unicode的问题 据我所知 我应该始终decode我从外部 文件 网络 读到的所有内容 decode使用参数中指定的字符集将外部字节转换为内部 Python 字符串 所以decode utf8 意味着外部字节是 un
  • 通过 ng-include 渲染字符串模板

    我正在尝试渲染一段 html 可在动态路线上使用 该路线是通过 http get 调用 它返回一段html 举个例子 我尝试加载这个 html 部分 h1 pagetitle h1 this is a simple page example
  • 如何让 WPF ClipToBounds 工作?

    我有一个在 WPF 中的 Image 对象内显示图像的应用程序 该图像包含在一个控件中 其 xaml 如下所示
  • 当 doInBackground() 执行时,如何在 android 中显示进度旋转器

    这是我的 Activity 类 我使用 AsyncTask 从服务器获取数据 public class UserProfileActivity extends Activity private ImageView userImage pri
  • 如何从 Visual Studio 为 Xamarin Forms 项目创建 IPA 文件

    I have Xamarin Forms在 Windows 10 PC 中项目 Visual Studio 2017 我的VS通过网络连接到mac机器 我想从 Xamarin 表单项目创建 IPA 文件 在谷歌中没有一篇文章可以解释这一点
  • 如何在 F# 中创建 .NET 兼容事件?

    我正在尝试发布 F 类型的事件 但我希望将其视为 C 或 VB 的事件 以前正确的做法似乎是 IEvent create HandlerEvent 但最新版本的 F 中不存在此函数 那么现在正确的做法是什么呢 事件不是我的强项 但这个示例似
  • BackgroundWorker 和 WebBrowser 控件

    是否可以 建议在 Web 浏览器控件中使用后台工作线程 我正在创建一个机器人 它可以在 google 中搜索关键字 然后检查前 10 页中的网站以查看网站是否排名 用户最多可以提供20个站点进行检查 并且可以使用代理 所以理想情况下我希望有
  • 如何在PHP中获取客户端IP地址

    如何使用 PHP 获取客户端 IP 地址 我想保留通过 IP 地址登录我的网站的用户的记录 Answer recommended by PHP Collective 无论您做什么 请确保不要信任客户端发送的数据 SERVER REMOTE