栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

哪些$ _SERVER变量是安全的?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

哪些$ _SERVER变量是安全的?

就没有这样的“安全”或“不安全”值。只有服务器控制的值和用户控制的值,您需要知道值的来源,因此是否可以出于特定目的信任该值。

$_SERVER['HTTP_FOOBAR']
例如,将其存储在数据库中是完全安全的,但是我绝对不是
eval

因此,让我们将这些值分为三类:

服务器控制

这些变量由服务器环境设置,并且完全取决于服务器配置。

  • 'GATEWAY_INTERFACE'
  • 'SERVER_ADDR'
  • 'SERVER_SOFTWARE'
  • 'document_ROOT'
  • 'SERVER_ADMIN'
  • 'SERVER_SIGNATURE'

部分受服务器控制

这些变量取决于客户端发送的特定请求,但只能采用有限数量的有效值,因为所有无效值都应由Web服务器拒绝,并且不会导致脚本的调用开始。因此,可以认为它们是
可靠的

  • 'HTTPS'
  • 'REQUEST_TIME'
  • 'REMOTE_ADDR'
    *
  • 'REMOTE_HOST'
    *
  • 'REMOTE_PORT'
    *
  • 'SERVER_PROTOCOL'
  • 'HTTP_HOST'
  • 'SERVER_NAME'
  • 'script_FILENAME'
  • 'SERVER_PORT'
  • 'script_NAME'

*这些

REMOTE_
值被保证是客户端的有效地址,通过TCP / IP握手验证。这是将任何响应发送到的地址。
REMOTE_HOST
但是,它依赖于反向DNS查找,因此可能会受到针对您服务器的DNS攻击的欺骗(在这种情况下,您仍然会遇到更大的问题)。该值可能是代理,这是TCP / IP协议的简单现实,您无能为力。

†如果您的Web服务器响应 任何 请求而无论

HOST
标头如何,这也应被视为不安全。请参阅$ _SERVER [“
HTTP_HOST”]有多安全?

另请参阅http://shiflett.org/blog/2006/mar/server-name-versus-http-
host。

‡见https://bugs.php.net/bug.php?id=64457,http://httpd.apache.org/docs/current/mod/core.html#usecanonicalphysicalport,HTTP://httpd.apache。
org / docs / 2.4 / mod /
core.html#comment_999

完全任意的用户控制值

这些值根本不会检查,也不依赖于任何服务器配置,它们完全是客户端发送的任意信息。

  • 'argv'
    'argc'
    (仅适用于CLI调用,通常不涉及Web服务器)
  • 'REQUEST_METHOD'
    §
  • 'QUERY_STRING'
  • 'HTTP_ACCEPT'
  • 'HTTP_ACCEPT_CHARSET'
  • 'HTTP_ACCEPT_ENCODING'
  • 'HTTP_ACCEPT_LANGUAGE'
  • 'HTTP_CONNECTION'
  • 'HTTP_REFERER'
  • 'HTTP_USER_AGENT'
  • 'AUTH_TYPE'
  • 'PHP_AUTH_DIGEST'
  • 'PHP_AUTH_USER'
  • 'PHP_AUTH_PW'
  • 'PATH_INFO'
  • 'ORIG_PATH_INFO'
  • 'REQUEST_URI'
    (可能包含污染数据)
  • 'PHP_SELF'
    (可能包含污染数据)
  • 'PATH_TRANSLATED'
  • 任何其他
    'HTTP_'

§ 只要Web服务器仅允许某些请求方法,就可以认为是 可靠的

‖ 如果身份验证完全由Web服务器处理,则可以认为是 可靠的

超全局变量

$_SERVER
还包括几个环境变量。这些是否“安全”取决于它们的定义方式(和位置)。它们的范围从完全由服务器控制到完全由用户控制。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400835.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号