在什么情况下可以禁用 PHP 服务器变量

在什么情况下可以禁用 PHP 服务器变量

根据问题:“在什么条件下可以禁用 PHP 服务器变量”。

基本上,在我使用的共享主机上,我可以选择以“Apache”或“CGI”模式运行我的网站。在“CGI”模式下运行时,PHP 服务器变量“https”不可用,它根本不存在,而在“Apache”模式下则存在。

这是安全模式的结果吗?还是类似的东西?还是必须在 PHP 配置中明确禁用此功能?

就是这样,我为寻找这个问题的答案费了好大劲。


我并不是在问他们如何设置托管,而是问为什么某些 PHP 变量会被禁用,或者在本例中具体是 HTTPS 变量,这是手动交互、PHP 配置还是其他“系统”(即 PHP 安全模式)的一部分导致的。HTTPS 变量是否存在安全风险?

答案1

请参阅 PHP 文档(您应该已经阅读、搜索或用 Google 搜索过)——特别是这一页,其中写道:

某些服务器提供的环境变量未在当前 » CGI/1.1 规范中定义。此处仅定义了以下变量:AUTH_TYPE、CONTENT_LENGTH、CONTENT_TYPE、GATEWAY_INTERFACE、PATH_INFO、PATH_TRANSLATED、QUERY_STRING、REMOTE_ADDR、REMOTE_HOST、REMOTE_IDENT、REMOTE_USER、REQUEST_METHOD、SCRIPT_NAME、SERVER_NAME、SERVER_PORT、SERVER_PROTOCOL 和 SERVER_SOFTWARE。其他所有内容均应视为“供应商扩​​展”。

(重点已添加。)

按设计工作。

相关内容