php运行

令人讨厌的PHP7远程代码执行错误被利用

ZDNet从威胁情报公司“坏包”(Bad packet)那里了解到,现代版本的PHP编程语言中最近修补的一个安全缺陷正在被用于接管服务器。该漏洞是PHP 7中的远程代码执行(RCE), PHP 7是PHP的较新分支,PHP是用于构建网站的最常用编程语言。这个问题被称为CVE-2019-11043,它允许攻击者仅通过访问一个特制的URL就可以在服务器上运行命令。利用这个漏洞并不重要,本周早些时候,GitHub上发布了公开的概念验证的利用代码。

“GitHub存储库中包含的PoC脚本可以通过发送特别制作的请求来查询目标web服务器,以确定它是否容易受到攻击,”成立公司的高级安全响应经理Satnam Narang说。“一旦一个脆弱的目标被识别出来,攻击者就可以通过添加‘?a='在一个脆弱的web服务器的URL。"- ice (@ice43396118) 2019年10月24日

只有NGINX服务器受到影响

幸运的是,并非所有支持php的web服务器都受到影响。只有启用了PHP-FPM的NGINX服务器是脆弱的。PHP- fpm,或FastCGI进程管理器,是另一种具有一些附加功能的PHP FastCGI实现。然而,尽管PHP- fpm不是Nginx安装的标准组件,一些web托管提供商将其作为其标准PHP托管环境的一部分。

其中一个例子是网络主机提供商Nextcloud,它在10月24日(周四)向客户发布了一份安全建议,敦促客户将PHP更新到最新版本7.3.11和7.2.24,这两个版本是在同一天发布的,包含了CVE-2019-11043的补丁。许多其他的虚拟主机提供商也被怀疑运行脆弱的Nginx+PHP-FPM组合。但是也有一些网站所有者由于技术限制不能更新PHP或者不能从PHP- fpm切换到另一个CGI处理器。

发现PHP7 RCE的Wallarm公司的这篇博客文章介绍了网站管理员如何使用标准的mod_security防火墙工具来阻止网站url中的%0a (newline)字节,并防止任何攻击。Wallarm公司称赞其安全研究员安德鲁·达诺在上个月的“夺旗”(CTF)比赛中发现了这个漏洞。由于公共PoC代码的可用性和利用这个bug的简单性,建议网站所有者检查服务器设置,如果他们运行了易受攻击的配置,则应尽快更新PHP。

展开
收起

一台服务器同时运行多个版本的php

如果你手上有两套php程序,一套是基于php2.3,一套是基于php3.0的,两套程序要同时上线,此时你可以安装多个apache,但是存在端口冲突问题,如果使用不同端口,域名就要带端口号。增加服务器也是一种方法,但是增加了不必要的成本。如果在一台服务器上同时运行多个版本的php程序呢? 使用Apache  + .htaccess + PHP CGI方案解决这个问题

展开
收起

PHP 7远程代码执行漏洞曝光

据外媒报道,安全研究员Andrew Danau发现,PHP 7存在远程代码执行漏洞CVE-2019-11043,运行PHP-FPM的网站受影响。

图片来源于pixabay

据悉,该漏洞概念验证PoC代码已被发布,运行PHP 7+版本的服务器易受攻击。由于许多PHP-FPM教程可在Internet上获得部分Web托管提供商正在使用的配置,因此黑客的攻击成功率被大大提高。

图片来源于pixabay

漏洞源于PHP-FPM模块中“env_path_info”的下溢内存损坏,即使不使用特定技能,黑客也可接管服务器,启用PHP-FPM的NGINX服务器受影响。此外,将其与其他问题链接在一起,可能允许黑客在Web服务器上远程执行任意代码。

图片来源于pixabay

截至目前,官方已发布漏洞补丁,但黑客很可能已开始扫描Internet来搜索易受攻击的网站,因此专家建议用户将PHP更新到最新的PHP 7.3.11和PHP 7.2.24以保护网站。

展开
收起

服务器安装PHP网站的运行环境

首先要确认的是你的服务器的系统,Windows、或者linux系统。要想在Windows系统里运行php网站,可以选择iis或者Apache,如果你单独的去安装,可能会花很多时间去配置这个软件直接问题,更省心的方法是找比较好的集成环境,可以快速的搭建我们的服务器。这里推荐几个管理比较方便的集成软件。1.宝塔Windows和linux版都有 Windows版支持2008/2012/2016/2019,64位系统,支持Web端管理,QQ群及论坛技术支持一键创建网站、FTP、数据库;安全管理,文件管理,PHP多版本共存及切换;支持:ASP+ASPX+PHP+MYSQL5.5/5.6/5.7+MSSQL05/08/12/14/17+mariaDB+FTP+Apache+Nginx

linux版支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能

两个版本都有一个管理系统 ,方便快捷的新建管理网站,默认的地址是ip:8888; 需要服务器开发8888端口或者更改成别的端口,这样便能远程管理服务器网站.2.wamp也是windows系统下比较好的一款集成软件。打开apache目录conf文件下的httpd.conf把默认80端口修改为自己需要的端口,把Deny from al 修改为Allow from all找到\Apache2\conf\extra这个文件夹下的httpd-vhosts.conf文件VirtualHost *:80 把80 端口改成你上面修改的端口,DocumentRoot "c:/Apache24/docs/dummy-host.example.com" 改成你网站文件夹路径,ServerName dummy-host.example.com 改成你的域名 在把域名解析到你的服务器ip,就可以访问了在linux 系统下介绍一款用的比较多的wdcp安装方法:wget http://dl.wdlinux.cn/lanmp_laster.tar.gztar zxvf lanmp_laster.tar.gzsh lanmp.sh 默认安装sh lanmp.sh cus 自定义安装卸载方法sh lanmp.sh un

service wdcp startservice wdcp restartservice wdcp stop卸载方法rm -fr /www/wdlinuxrebootwdcp 默认后台是ip:8080账号:admin,密码:wdlinux.cn

wdcp和宝塔一样有一个方便的服务器网站管理系统,很方便。

展开
收起

使用php集成运行环境全家桶Laragon,做一个优雅的开发者

对于一个php程序员来说,php运行环境是我们最亲密的伙伴之一,一般我们都会选择一个集成好的运行环境在我们电脑上安装。在我们职业生涯中用过许多的集成开发环境,比如:Xampp、Wamp、phpstudy、宝塔、upupw等等。今天要给大家推荐的是一款名叫Laragon的Windows中的php集成运行环境,其丰富的功能堪称php集成环境界的全家桶,下面我们一起看一看。

Laragon

完美支持laravel

Laragon专注于性能 - 围绕稳定性,简单性,灵活性和自由度而设计,非常适合构建和管理现代Web应用程序。

Laragon有自己的service orchestration异步和非阻塞管理服务,可自动创建虚拟主机,所以你会发现Laragon可以快速顺畅地运行。

Laragon对 Laravel 非常友好,相信不少人在windows下开发搭建laravel官方推荐的运行环境Homestead 时吃过不少的亏,下载了一堆软件,安装完却搞不明白要怎么组合在一起运行起来,而Laragon完美支持laravel。

Laragon可以将PHP,Python,Node.js,Java,Golang,Ruby集于一身,支持Mariadb,MySQL,Redis,Memcached,Postgresql,Mangodb等数据库。还支持Git,Yarn,Composer,终端等等,可以说安装了laragon,开发所需要的各种软件就都安装好了,真正的开箱即用。

Laragon 特性

自动创建虚拟主机(Virtual Host,Valet 也有这样的功能)基于自己的需求为不同的环境设置不同的配置邮件接收和发送轻松创建框架应用,如 Laravel、Symfony、WordPress、Joomla 等非常方便地切换 PHP、Apache、MySQL 的不同版本Laragon 安装

laragon官网地址:请自行搜索吧,自媒体中不让发网址链接(尴尬)。

目前的版本是4.0.14,php版本默认是7.2.11,安装完毕出现如下界面:

laragon启动界面

点击启动所有开始使用,以下是我所用环境的启动界面:

laragon启动后的界面

安装完毕即可投入使用,详细的使用介绍就不多赘述,试试鼠标右键点击界面,自行体会发现的乐趣。

我后续会继续发一些关于laragon的详细使用教程,欢迎关注。

展开
收起

认识PHP,快速搭建PHP环境

织梦DEDECMS建站学习02

1.认识php

PHP:

PHP: Hyper text Preprocessor"的缩写,即“超文本预处理器。PHP是一种功能强大,并且简便易用的脚本语言,它可嵌入到HTML中,尤其适合web开发。

起源:

1994年Rasmus创造了PHP (这完全是Rasmus的个人爱好)

1997年,Zeey、Andi重写了解析器,发展到php3。 (有了队伍)

2000年5月,php4发布,它使用了Zend引擎(Zeey+Andi)。(有 了标准)

2004年7月,php5正式发布。(飞速发展,不断创新)

PHP的最版本为PHP 7. X。

PHP的官方网址下载。

特点:

PHP是免费的;

效率高: PHP消耗相当少的系统资源;

易学易用,功能强太;

跨平台的。可以运行在UNIX、LINUX、WINDOWS下;

嵌入HTML:因为PHP可以嵌入HTML语言,学习起来并不困难;

PHP5是面向对象的。

... ...

2.PHP优势

PHP优势

3. PHP运行环境

PHP运行前提:1.操作系统,2.WEB服务器,3.PHP组件

WAMP: Windows+Apache+Mysql+Php

WNMP: Windows+Nginx+Mysql+Php

LAMP: Linux+Apache+Mysql+Php

LNMP: Linux+Nginx+Mysql+Php

Apache HtTP Server (简称Apache)是Apache软件基金会的一个开放源码的网页服务器。Apache是世界使用排名第一的Web服务器软件。 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

Nginx("enginex")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的Web和反向代理服务器,也是一IMAP/POP3/SMTP代理服务器。在高连接并发的情况下,Nginx是Apache服 务器不错的替代品。

安装了PHP环境之后,Apache/Nginx才可能运行PHP文件。

新手安装过程推荐组合包安装!

官方网站:自行下载

注意:我们还可以安装zend引擎:用于php优化。

windows下安装:

推荐软件: phpstudy 官网下载

phpstudy

4.第一个PHP页面

1)路径:www下新建目录文件,用于区别不同项目

目录

2)代码:

代码

3)访问:浏览器输入本机网址路径:127.0.0.1/stedy/index.php

网址

最终执行结果!

展开
收起

提高PHP程序运行速度的代码方式,你们认同哪几个?

PHP作为在web开发中最得力的编程语言,自从PHP7后来之后,PHP7比PHP5速度提升了两倍左右,但是除了官方php本身程序的提升,我们还可以从编程代码的方式提升PHP运行速度,下面介绍几种提升PHP代码方式,你们认同哪几个?

第一,如果能将常用类的方法定义改成static,它的速度会提升将近4倍。

第二,PHP本身提供很多方式,在没有必要的情况不需要第三方扩展类,尽量采用PHP内置函数可以提高PHP速度。

第三,尽量做HTML缓存设计,在PHP解析脚步时会降低速度,如果引用缓存数据这在很多时间内可以完成页面显示。

第四,一般情况下设计一个全局变量要比设计一个局部变量速度慢2倍以上,我们想一下,全局变量是整个程序一直在运行,而局部变量在需要的时候在运行。

第五,PHP与mysql结合可以说是完美结合,很多人习惯是连接数据库使用长连接方式,如果每次使用完数据库关闭连接可以提高PHP的解析速度。

第六,PHP错误消息PHP初级程序员习惯使用@屏蔽消息,要记住只是屏蔽并非解决,所以PHP运行时还会有错误只是被屏蔽掉了,这样对于PHP消耗非常大,极其不建议这样做。

以上是PHP常见的提高程序运行速度的代码方式,你们认同哪几个?

展开
收起

PHP是什么?程序猿小白的第一次实操,PHP运行环境搭建和配置

对于程序猿小白而言肯定会问:PHP是什么?那么给小白普及下:PHP是一种快速地开发动态Web网页的脚本语言。与ASP,JSP一样,PHP是服务器端的、嵌入式HTML脚本语言,区别于其他客户端脚本的地方是它的页面嵌入代码在服务器端执行,仅把执行结果作为输出传给客户端。客户端收到的将是这个服务端脚本运行的结果,而无法获得服务端的执行源代码。

作为一种新兴的网络前向技术,PHP具有以下优势:

1、PHP是免费的,网络上可以PHP源代码,都是开源的。方便开发者在此基础上进行二次开发。

2、用PHP编写的代码执行起来更快,并且有很好的兼容性,能实现同样功能的PHP代码,不用改变就可以在不同的Web服务器上、不同的操作系统下运行。

3、PHP支持HTTP的身份认证、GIF图像创建等功能。它的一个具有代表性的特点是它的数据库层,它使编写基于数据库的网页变得十分简单。目前,PHP所支持的数据库有Oracle、Sybase、MySQL、Informix、ODBC、UNIX dbm等。

4、PHP提供了丰富的网络函数簇,利用这些函数,PHP能轻松实现与其他协议的交互,这使得开发一个综合性的网站变得很容易。

5、PHP提供了加密函数簇,这些函数为开发对安全性有较高要求的电子商务网站提供了坚实的基础。

6、PHP的功能可以扩展。开发者如果嫌PHP功能不够强大,可以在其上写自己的DLL,扩展自己定义的功能。

上面六点介绍了一些PHP的概念,那么有的程序猿猿小白又会问:怎么来搭建PHP的开发环境呢?小编这就一一道来,使用到的是一款集成包软件,搭建起来非常的方便。成功搭建后,便可以正式开启PHP的学习之旅。使用的是APPSERV的集成包软件来搭建PHP开发环境,步骤如下:

第一步、双击打开APPSERV软件。

第二步、下一步以及同意软件的安装协议,选择安装目录。

第三步、这个界面四个选项都需要打上勾,Apache Http Server是指运行PHP的Apache服务器,MySQL Database是指开发所需要使用到的数据库,PHP Hypertext Preprocessor是指PHP语言,phpMyAdmin是图形化管理数据库的工具。

第四步、Server Name输入127.0.0.1或者localhost,这里指的是当编写完PHP程序是,需要调试的时候输入的网址。Admistrators Email Address输入测试邮箱地址,这是指的管理员邮箱。Apache HTTP Port默认80,这指的是网站发布的端口号。温馨提醒:如果你的服务器端口事先已经被其他程序占用了80端口,此时需要另外填写一个:例如8080端口。否则的话会影响你网站的正常发布。

第五步、输入数据库密码和确认数据库密码。选择网页编码,一般常用的两种网页编码(UTF-8和GB2312)。

第六步、基本上PHP开发环境就已经安装完毕。

第七步、如果你需要测试是否安装成功的话,可以在浏览器上输入刚刚填写的127.0.0.1。出现这界面说明你的PHP环境已经成功搭建完成。

最后数据库如何测试是否安装成功呢?如果你是按照小编的步骤一步一步操作的话,99%数据库是没问题的。这里大家自己去翻阅资料编写一段PHP语句连接安装的MySQL数据库,操作非常简单。这里就不一一介绍,如何想和小编继续探讨更深一层的问题,可以留言,一起学习一起进步一起成长。

展开
收起

配置apache以运行php脚本代码

目标1:

执行如下最简单的php程序(代码):

可见,还不行,于是,需要去配置。

apache的配置文件在哪里?

apache安装目录/conf/httpd.conf

用编辑器打开它:

如下:

这就是apache中的“众多模块”,有的已经,有的没有开启。

“php语言”就是apache中的一个模块——但我们得自己去添加上并进行配置!

分两步:

第1步:添加php语言模块,如下所示:

第2步:设定有php语言包,去执行php后缀的文件(中的脚本代码)

然后,重启apache,重新浏览刚才的php网页,如下:

展开
收起

php如何搭建最简单的运行环境(入门2)?

大家好!我们写的代码想要运行起来就必须要有环境,没有执行环境代码是运行不起来的,那么如何搭建一个最简单环境呢?搭建环境有两种方式:一:linux系统环境下面编译安装。二:win系统一键安装包。为了让新手能快速入门,我这里只讲Windows系统(win7/win8/win10)环境下一键安装包的搭建方式,毕竟新手对Windows操作很熟悉。

一:PHP一键安装包的方式。

所谓一键安装包就是把apache+mysql+php全部集成安装好,简单省心。到现在很多中级程序员,甚至少数高级程序员都是用一键安装包搭建自己的运行环境。

下载一键安装包。我推荐去phpstudy的官网上面下载选择Windows版本的。

下载phpstudy一键安装包

下载之后,点击exe结尾的执行文件。记得不要用用默认安装,默认的话会安装在C盘里面。所有下载安装的软件尽量不要安装在C盘,这个是常识。要选择自定义安装在D盘或者E盘里面。

2:如何启动一键安装包。

点击启动apache按钮apache启动之后的界面

安装完成后,点击apache的启动按钮,php运行环境搭建好了。暂时mysql可以不启动,mysql是存放数据用的。后面再教大家如何使用mysql。

2:配置虚拟域名。

由于工作实际开发过程中都是用域名来访问,比如后面用的Laravel框架,thinkphp框架都是配置域名来访问的,所以我们就配置一个域名来访问服务器。

配置虚拟域名

在phpsudy控制面板里面,选择最下面的【设置】-》hossts,用记事本打开输入127.0.0.1 test100.com。这个网址(域名)是随便取的,可以根据自己的爱好修改,记得保存。意思就是我在浏览器访问test100.com这个网站,实际上是访问自己本电脑的apache服务器。顺便补充一下上图IP地址前面的#号是失效的意思,和删除是一个道理,所以正常使用的前面就不要加#号了。

3:配置虚拟域名的艮目录。

配置网站域名的根目录

继续选择最下面的【网站】-》【新建网站】-》【基本配置】域名一栏,填写刚才自己的域名,比如test100.com。根目录的路径写到安装phpstudy的www目录下面,点击保存。

4:测试php运行环境。

访问搭建的php运行环境

在浏览器里面输入刚才的网址(域名),提示站点创建成功。ok大功告成,估计不会写代码的人也会搭建了,以后就可以建设自己的网站了。记得www是根目录,php代码都要放在这个目录(文件夹)里面,放在别的地方就运行不了。有疑问的请给我留言,乐于效劳。

展开
收起