首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    cgi、fastcgi、php-cgi、php-fpm剖析

    定义 cgi 通用网关接口,外部程序与web服务器之间的接口标准,是在cgi程序和web服务器之间传递信息的过程 每一次请求都会生成一个cgi进程,cgi程序执行完,进程退出 独立于服务器、独立编程语言...可以同时处理多个请求 长期占用内存 php-cgi php官方自带的FastCGI 进程管理器 php.ini修改之后,必须kill掉php-cgi再启动php.ini 才生效。...以apache为例,首先要配置好cgi访问目录,访问 http://127.0.0.1/cgi-bin/printenv.pl 。...apache收到用户请求,开始调用cgi接口,处理cgi程序(printenv.pl),处理完了之后返回 cgi程序处理后的结果。...说一下我走过的一个坑,为了验证cgi程序,我特意编译了apache2.4 ,然后配置httpd.conf 但是访问cgi程序还是报错。主要原因就是。cgi文件,没有加上调用哪个程序执行 。

    1.3K10

    Java核心技术整理(二)---CGI通用网关接口

    CGI 即 Common Gateway Interface,译作“通用网关接口” web服务器所处理的内容都是静态的,要想处理动态内容,需要依赖于web应用程序,如php、jsp、python、perl...它所依赖的就是cgi协议。没错,是协议,也就是web server和web应用程序交流时的规范。...web server会将这些程序参数和其它一些环境变量根据cgi协议通过TCP或套接字等方式传递给已启动的cgi程序(可能是cgi进程,或者是已加载的模块cgi模块)。...当cgi进程接收到web server的请求后,调用search程序并执行,同时还会传递参数给search程序。...search执行结束后,cgi进程/线程将处理结果返回给web server,web server再返回给浏览器。

    1.1K10

    什么是CGI、FastCGI、PHP-CGI、PHP-FPM

    FastCGI与CGI特点 CGI,FastCGI也具有语言无关性。 CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。...(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥...FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。...启动PHP-CGI,使用如下命令: php-cgi -b 127.0.0.1:9000 PHP-CGI的不足 php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启...PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

    37130

    什么是CGI、FastCGI、PHP-CGI、PHP-FPM

    FastCGI与CGI特点 CGI,FastCGI也具有语言无关性。 CGI, FastCGI在进程中的应用程序,独立于核心web服务器运行,提供了一个比API更安全的环境。...(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥...FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。...启动PHP-CGI,使用如下命令: php-cgi -b 127.0.0.1:9000 PHP-CGI的不足 php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启...PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

    28830

    概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM

    众所周知,CGI解 释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、 Fail- Over特性等等。...APIs把应用程序的代码与核心的web服务 器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器。...恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥。 FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。...PHP-CGI的不足: php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启。 直接杀死php-cgi进程,php就不能运行了。...PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

    2.1K80

    万法归宗:CGI

    虽然我们听说过Java的Servlet,Python的WSGI。但其实Java、Python都是支持CGI的,不仅如此,其他我们所熟知的语言大都也都支持。...CGI程序既是如此。 CGI程序通常部署到Web服务器(如Apache)上,Web服务器然后调用CGI程序,关于CGI程序到底如何从Web服务器中获得输入,请继续阅读下一节 Interface。...此时要注意的是,不要以为返回HTML页面,那么直接输出一段HTML代码就OK,注意。此时CGI的输出承担的是HTTP协议的响应部分,因此HTTP响应报头也要自己标准输出出来。...熟悉PHP的同学,肯定echo过HTML代码,没错,这很像。...Java发明的Servlet技术也是一种常驻内存的网关通信技术,只不过它采用的是多线程而非进程。

    1.3K10

    什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?

    众所周知,CGI解释器的 反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。...(APIs把应用程序的代码与核心的web服务器链接在一起,这意味着在一个错误的API的应用程序可能会损坏其他应用程序或核心服务器; 恶意的API的应用程序代码甚至可以窃取另一个应用程序或核心服务器的密钥...3、FastCGI技术目前支持语言有:C/C++、Java、Perl、Tcl、Python、SmallTalk、Ruby等。...管理器 PHP-CGI的不足 1、php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启 2、直接杀死php-cgi进程,php就不能运行了。...PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

    2.7K90

    PHP-CGI远程代码执行漏洞(CVE-2012-1823)分析

    CVE-2012-1823出来时据说是“PHP远程代码执行漏洞”,曾经也“轰动一时”,当时的我只是刚踏入安全门的一个小菜,直到前段时间tomato师傅让我看一个案例,我才想起来这个漏洞。...php有一个叫php-cgi的sapi,php-cgi有两个功能,一是提供cgi方式的交互,二是提供fastcgi方式的交互。...CVE-2012-1823就是php-cgi这个sapi出现的漏洞,我上面介绍了php-cgi提供的两种运行方式:cgi和fastcgi,本漏洞只出现在以cgi模式运行的php中。.../usr/local/bin/php-cgi -d include_path=/path的写法来进行测试,认为不应该限制php-cgi接受命令行参数,而且这个功能不和其他代码有任何冲突。...但阅读过我写的fastcgi那篇文章的同学应该很快就想到了一个更好的利用方法:通过使用-d指定auto_prepend_file来制造任意文件包含漏洞,执行任意代码: ?

    2.9K30
    领券