Home » 安全运维 » apache的fastcgi模式下,phar安全设置

apache的fastcgi模式下,phar安全设置

发布于
如果本文对您有帮助,或者节约了您的时间,欢迎您打赏瓶饮料,建立一下友谊关系。

书接上文,apache对接php有两种模式,大多数情况下,使用的是handler模式。但是个别情况下,也会使用fastcgi模式,也就是说,php文件都是交予php-fpm处理的,这种情况下,phar的安全性又如何呢?答案将在本文中揭晓。

前言

apache的fastcgi模式下,phar安全设置 - 000.png

读取本文内容之前,请自行查看phpinfo里面关于server api的值,是否是FPM/FastCGI,以确定您的环境,是否和本文中苏南大叔所描述环境一致。

如何配置apache对接php-fpm,请参考苏南大叔的这篇文章。https://newsn.net/say/apache-fastcgi-php.html

修改apache的配置文件

httpd.conf关键点如下:

LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_fcgi_module libexec/apache2/mod_proxy_fcgi.so
#LoadModule php7_module libexec/apache2/libphp7.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/other/*.conf
Include /private/etc/apache2/extra/httpd-vhosts.conf
<Directory />
    AllowOverride none
    #Require all denied
    allow from all
</Directory>

other/php7.conf:

<IfModule php7_module>
    AddType application/x-httpd-php .phar
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
</IfModule>
<IfModule proxy_module>
    <FilesMatch \.php|\.phar$>
        SetHandler "proxy:fcgi://127.0.0.1:9000"
    </FilesMatch>
</IfModule>
<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

在这里有三条IfModule指令:

  • IfModule php7_module已经失效,大家无视即可。
  • IfModule proxy_module,这里是敲黑板重点,注意里面的phar字样。
  • IfModule dir_module,这个设置默认首页的,我们从php7_module里面提出来了。

效果对比

对于启用phar前后,phar的处理对比图如下:

apache的fastcgi模式下,phar安全设置 - 003.png

apache的fastcgi模式下,phar安全设置 - 004.png

结论

我们通过修改apache的配置,成功的识别并保护了phar源码,很开心的节奏。

更多有关phar的相关经验文件,苏南大叔提示您,点击这里查看:https://newsn.net/tag/phar/

想要获取完整源码或相关软件?点击这里获取相关内容

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/apache-fastcgi-phar-safe.html
上一篇好文:apache的handler模式下,phar安全设置
下一篇好文:phar和webphar的入口区别
尊重原创内容,转载请保留链接信息,感谢您的阅读

如果本文对您有帮助,或者节约了您的时间,欢迎您打赏瓶饮料,建立一下友谊关系。
欢迎关注微信公众号“苏布斯看世界”:
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。

相关文章

添加新评论