当前位置: 首页 > 面试题库 >

信任$ _SERVER ['REMOTE_ADDR']是否安全?

越健
2023-03-14
问题内容

信任安全$_SERVER['REMOTE_ADDR']吗?是否可以通过更改请求标头或类似的内容来代替?

这样写安全吗?

if ($_SERVER['REMOTE_ADDR'] == '222.222.222.222') { // my ip address
    $grant_all_admin_rights = true;
}

问题答案:

是的,这很安全。它是TCP连接的源IP,不能通过更改HTTP标头代替。

您可能要担心的一种情况是,如果您在反向代理后面,则REMOTE_ADDR将始终是代理服务器的IP,而用户IP将在HTTP标头中提供例如X-Forwarded-For。但是对于正常使用情况,读取REMOTE_ADDR是可以的。



 类似资料:
  • 问题内容: 是否可以伪造或劫持变量的内容? 我想伪造一个请求: 我如何用PHP做到这一点?CURL可以这样做吗? 问题答案: 我认为您的意思是远程伪造。简短的答案是可以。关于它多么容易的长答案取决于您要伪造它的方式。 如果您不关心接收响应,那么它就像打开原始套接字到目标并伪造源IP地址一样简单。我不确定在PHP中是否真的容易实现,因为所有PHP的套接字实现都在TCP级别或更高级别。但我确信这是可能

  • 问题内容: 用户可以控制的任何变量,攻击者也可以控制,因此是攻击的源头。这称为“污染”变量,并且不安全。 使用时,可以控制许多变量。,,,和许多其它的是由客户端发送的HTTP请求报头的一部分。 有人知道“安全列表”或变量列表吗? 问题答案: 就没有这样的“安全”或“不安全”值。只有服务器控制的值和用户控制的值,您需要知道值的来源,因此是否可以出于特定目的信任该值。例如,将其存储在数据库中是完全安全

  • 问题内容: 我做了很多搜索,还阅读了PHP $_SERVER文档。对于在我的网站上使用的用于简单链接定义的PHP脚本,我是否有权使用? 基于您的Web服务器的配置文件(在我的情况下为Apache2),并根据一些指令而有所不同:(1)VirtualHost,(2)ServerName,(3)UseCanonicalName等。 基于客户端的请求。 因此,在我看来,为了使我的脚本尽可能兼容而使用的适当

  • 问题内容: 是否所有浏览器都支持PHP的$ _SERVER [‘HTTP_X_REQUESTED_WITH’]? 您是否知道$ _SERVER [‘HTTP_X_REQUESTED_WITH’]不起作用的任何浏览器或时间? 问题答案: X-Requested-With标头的发送实际上取决于所使用的Ajax库。我签出了Prototype,jQuery,Mootools和YUI,它们都进行了设置。

  • 问题内容: 我一直在假设线程安全也不是线程安全,但是在最近的一次讨论中,一位同事告诉我线程安全。 因此,我做了一些研究,却一无所获。很多人认为它是线程安全的,很多人认为它不是线程安全的。而且,最重要的是,文档没有以一种或另一种方式说任何话,不是为了,甚至不是。 那是什么呢? 问题答案: 这是指向Java 7 中Calendar和GregorianCalendar的源代码的链接。 如果阅读该代码,您

  • 问题内容: 我想在我的网站上使用,但得到以下信息: 我试过打印。输出以下内容: 谁能帮助我找到或建议替代方案? 问题答案: 从文档中: 页面(如果有的话)的地址,该页面将用户代理引至当前页面。这是由用户代理设置的。并非所有的用户代理都将设置此功能,有些用户代理提供了将HTTP_REFERER修改为功能的功能。简而言之,它不能真正被信任。