fastcgi

PHP 通过.user.ini 绕过黑名单限制

你说的曾经没有我的故事 提交于 2020-10-28 11:12:13
0x00 背景 这个估计很多同学看了不屑,认为是烂大街的东西了: .htaccess文件构成的PHP后门 那么我来个新的吧: .user.ini 。它比 .htaccess 用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性。 0x01 .user.ini 那么什么是.user.ini? 这得从php.ini说起了。php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种: PHP_INI_SYSTEM 、 PHP_INI_PERDIR 、 PHP_INI_ALL 、 PHP_INI_USER 。 在此可以查看: http://php.net/manual/zh/ini.list.php 这几种模式有什么区别?看看官方的解释: 其中就提到了,模式为PHP_INI_USER的配置项,可以在ini_set()函数中设置、注册表中设置,再就是.user.ini中设置。 这里就提到了.user.ini,那么这是个什么配置文件?那么官方文档在 这里 又解释了: 除了主 php.ini 之外,PHP 还会在每个目录下扫描

beego配置文件

我怕爱的太早我们不能终老 提交于 2020-10-28 09:30:36
关于App配置: #App配置 for Api AppName = ApiService RunMode = dev RouterCaseSensitive = true ServerName = ApiService RecoverPanic = true CopyRequestBody = true EnableGzip = false MaxMemory = 1 << 26 EnableErrorsShow = true EnableErrorsRender = false AppName 应用名称,通过 bee new 创建的项目名 AppName = beego beego.BConfig.AppName = "beego" RunMode 可选 prod 、 dev 、 test 。默认 dev 为开发模式有日志打印, prod 会关闭日志的打印, test 测试模式还没用过 RunMode = dev beego.BConfig.RunMode = "dev" RouterCaseSensitive 路由忽略大小写匹配,默认为true,意思是不需要刻意配置 RouterCaseSensitive = true beego.BConfig.RouterCaseSensitive = true ServerName beego 服务器默认在请求的时候输出 server 为

php参数

烂漫一生 提交于 2020-10-27 04:48:11
""" 安装路径""" --prefix=/usr/local/php """ php.ini 配置文件路径""" --with-config-file-path=/usr/local/php/etc """ 优化选项""" --enable-inline-optimization --disable-debug --disable-rpath --enable-shared """ 启用 opcache,默认为ZendOptimizer+(ZendOpcache) """ --enable-opcache """ FPM """ --enable-fpm 开启php的fastcgi功能,即开启php-fpm功能 --with-fpm-user=www --with-fpm-group=www """ MySQL """ --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd """ 国际化与字符编码支持""" --with-gettext --enable-mbstring mbstring模块的主要作用在于检测和转换编码,提供对应的多字节操作的字符串函数。 --with-iconv """ 加密扩展""" --with-mcrypt --with-mhash --with-openssl """

nginx如何调用php和php-fpm的作用和工作原理

前提是你 提交于 2020-10-25 07:04:13
nginx如何调用php 采用nginx+php作为webserver的架构模式,在现如今运用相当广泛。然而第一步需要实现的是如何让nginx正确的调用php。由于nginx调用php并不是如同调用一个静态文件那么直接简单,是需要动态执行php脚本。 所以涉及到了对nginx.conf文件的配置。这一步对新手而言一般需要网上查资料,对于一般的熟手而言,也有不少同学并没有搞透彻为何要如此这般配置。本文的主要内容为如何在nginx server中正确配置php调用方法,以及配置的基本原理。 一、nginx+php运行原理: 首先简单的讲一讲原理,目前主流的nginx+php的运行原理如下: 1、nginx的worker进程直接管理每一个请求到nginx的网络请求。 2、对于php而言,由于在整个网络请求的过程中php是一个cgi程序的角色,所以采用名为php-fpm的进程管理程序来对这些被请求的php程序进行管理。php-fpm程序也如同nginx一样,需要监听端口,并且有master和worker进程。worker进程直接管理每一个php进程。 3、关于fastcgi:fastcgi是一种进程管理器,管理cgi进程。市面上有多种实现了fastcgi功能的进程管理器,php-fpm就是其中的一种。再提一点,php-fpm作为一种fast-cgi进程管理服务,会监听端口

RHEL 8 搭建 Nginx Web 服务

…衆ロ難τιáo~ 提交于 2020-10-23 19:27:16
RHEL 8 搭建 Nginx Web 服务前请把 yum 源配好。 环境 Red Hat Enterprise Linux release 8.0 VMware Workstation Pro 14 搭建步骤 [root@localhost ~]# systemctl stop httpd #把 httpd 停掉,防止它影响 Nginx [root@localhost ~]# yum install -y nginx [root@localhost ~]# systemctl start nginx [root@localhost ~]# iptables -F [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [root@localhost ~]# setenforce 0 [root@localhost ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.118 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::e09a:769b:83f0:8efa

Nginx 之负载均衡与反向代理

倾然丶 夕夏残阳落幕 提交于 2020-10-14 05:05:50
1.轮循 每个请求逐个分发到后端服务器 2.加权轮循 按照分配的权重将请求分发到后端服务器 3.ip hash 轮询的基础上,保持一个客户端多次请求分发到一台后端服务器上 一、轮询配置  #定义后端服务器组 upstream nginx-test{ server 192.168.0.128; server 192.168.0.127; } server { listen 8080; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; root "G:/phpstudy/nginx/html"; location / { index index.html index.htm index.php l.php; autoindex on; proxy_pass http://nginx-test; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.

Nginx基础入门2

ぐ巨炮叔叔 提交于 2020-10-09 18:48:37
一、Nginx部署-yum 1、官网链接 http://www.nginx.org 2、Nginx版本类型 Mainline version: 主线版,即开发版 Stable version: 最新稳定版,生产环境上建议使用的版本 Legacy versions: 遗留的老版本的稳定版 3、配置yum源 4、安装 测试: 二、nginx配置文件 这个在前面的文章里面已经介绍过,这里不再重复介绍。 三、nginx编译参数 同上。 四、nginx基本参数 1、观察主配置文件 ① 分类 CoreModule 核心模块(进程数等) EventsModule 事件驱动模块(工作模式等) HttpCoreModule http内核模块 (文档程序类型,配置文件等) ② 模块功能 1、全局/核心块:配置影响nginx全局的指令。一般有运行nginx服务器的用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process数等。 2、events块:配置影响nginx服务器或与用户的网络连接。有每个进程的最大连接数,选取哪种事件驱动模型处理连接请求,是否允许同时接受多个网路连接,开启多个网络连接序列化等。 3、http块:可以嵌套多个server,配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置。如文件引入,mime-type定义,日志自定义

CentOS7部署Zabbix5.0.2监控主机和Web(无坑版)

…衆ロ難τιáo~ 提交于 2020-10-07 05:27:56
防伪码:他日若遂凌云志 敢笑黄巢不丈夫 操作系统 CentOS Linux release 7.5.1804 (Core) Nginx nginx/1.16.1 PHP 7.2.24 MYSQL 5.7.2 Zabbix 5.0.2 第一章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了  当出问题之后,可以找到问题的根源   网站 /服务器 的可用性 1.1.1 网站可用性   在软件系统的高可靠性(也称为可用性,英文描述为 HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。 1个9:(1-90%)*365=36.5天,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是36.5天 2个9:(1-99%)*365=3.65天 , 表示该软件系统在连续运行1年时间里最多可能的业务中断时间是3.65天 3个9:(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。 4个9:(1-99.99%)*365*24=0.876小时=52.6分钟

Nginx配置文件及编译参数解释

≯℡__Kan透↙ 提交于 2020-10-06 09:11:50
安装好Nginx后就可以查看nginx中的各种信息了。 一、Nginx配置文件 rpm -ql nginx //查看所有文件 /etc/logrotate.d/nginx 日志轮转 /etc/nginx/nginx.conf 总配置文件 /etc/nginx/conf.d 子配置文件夹 /etc/nginx/conf.d/default.conf 默认的网站配置文件 /etc/nginx/fastcgi_params 动态网站模块文件-python,php所需的相关变量 /etc/nginx/scgi_params /etc/nginx/uwsgi_params /etc/nginx/koi-utf 字符集,文件编码 /etc/nginx/win-utf /etc/nginx/koi-win /etc/nginx/mime.types 文件关联程序 网站文件类型 和 相关处理程序 /etc/nginx/modules 模块文件夹。第三方模块 /etc/sysconfig/nginx # Configuration file for the nginx service. NGINX=/usr/sbin/nginx CONFFILE=/etc/nginx/nginx.conf /etc/sysconfig/nginx-debug # Configuration file for the

nginx

喜夏-厌秋 提交于 2020-10-06 02:34:14
nginx 开启 PATH_INFO 在 fastcgi-php.conf 中去掉 注释的 fastcgi_param PATH_INFO $path_info; 在ci框架中 nginx的配置 需要在 .php(.*)$ server { listen 80; server_name player.xx.com; root /www/player.xxx.com/player; index index.php index.html index.htm; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php(.*)$ { fastcgi_pass php:9000; include fastcgi-php.conf; include fastcgi_params; } } 来源: oschina 链接: https://my.oschina.net/hongjiang/blog/4317939