php server status,什么是php $_SERVER [‘REDIRECT_STATUS’]?

php-src code表示

documentation link,即

For more information as to why this behaviour exists,

see the \

manual page for CGI security.

\n\

阅读有关CGI安全性的信息.使用REDIRECT_STATUS变量 – 它不是HTTP Header而是从Web服务器传递到CGI程序的变量,在本例中是php-cgi或php-fpm进程 – 你告诉php-cgi或php-fpm进程通过直接访问这些CGI脚本,Web服务器以受控方式处理请求,而不是以其他方式处理.

从历史上看,您将Web服务器配置为在特殊目录中处理CGI二进制文件 – 类似于$DOCROOT / cgi-bin – 并且您可以通过某个URL http:// SERVERNAME / cgi-bin /访问所有CGI脚本.

现在,如果通过这样的(直接)URL http:// SERVERNAME / cgi-bin / php-cgi / PATH_TO_PHP_SCRIPT调用PHP CGI程序,php-cgi的默认行为是处理文档/ PATH_TO_PHP_SCRIPT,从而可能绕过Web服务器访问控件.将处理/ PATH_TO_PHP_SCRIPT文档,但服务器可能不允许/ PATH_TO_PHP_SCRIPT,因为请求已离开Web服务器并进入PHP进程.在php的帮助下,这样的服务器会泄漏信息,你需要为所有PHP脚本提供另一个访问检查层.

要停止此行为,您可以将PHP-CGI程序配置为仅处理设置REDIRECT_STATUS标头的请求,该标头在外部客户端无法在直接请求中设置.只有Web服务器 – 在客户端和php之间 – 可以设置此标头,Web服务器建议HTTP状态 – 例如200,404,403或您喜欢的 – 并允许PHP处理此状态.但即使是这个标头的纯粹存在也会通知PHP进程,Web服务器已经以常规方式处理了该请求.

意见:防止此类使用的更好方法是,将Web服务器配置为禁止通过默认/ cgi-bin /路径直接调用PHP CGI.

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值