经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 PHP

PHP网站常见安全漏洞,及相应防范措施总结

目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一、常见PHP网站安全漏洞 对于PHP的漏洞,目前常见的漏洞有五种。分别是Se ion文件漏洞、SQL注入漏洞、脚本命令执行漏洞、全局变量...[2021/3/1]

记一次PHP的Invalid binding type问题

首先说明下环境问题,新旧服务器的迁移。代码在老服务器运行没有任何问题。环境都是PHP7.3,结果新的服务器上流量导过来以后,就报出了如下问题: FastCGI sent in stderr: "PHP me age: PHP Fatal error: Invalid binding type...[2021/3/1]

学习下Redis这个核心数据类型

string 字符串 tring 类型是二进制安全的,即 string 中可以包含任何数据。 Redis 中的普通 string 采用 raw encoding 即原始编码方式,该编码方式会动态扩容,并通过提前预分配冗余空间,来减少内存频繁分配的开销。 在字符串长度小于 1MB 时,按所需长...[2021/3/1]

trait能力在PHP中的使用

相信大家对trait已经不陌生了,早在5.4时,trait就已经出现在了PHP的新特性中。当然,本身trait也是特性的意思,但这个特性的主要能力就是为了代码的复用。 我们都知道,PHP是现代化的面向对象语言。为了解决C++多重继承的混乱问题,大部分语言都是单继承多接口的形式,但这也会让一些可...[2021/3/1]

Linux下安装php-soap通过重新编译php过程

首先安装完php后最好保留当时安装的文件,比如我的路径/export1 oft     1 2 3 4 5 6 7 8 9 ; html-script: false ]  cd php-5.1.6/ext/soap     /usr/loca...[2021/3/1]

关于PHP的方法参数类型约束

在之前的文章PHP方法参数的那点事儿中,我们讲过关于PHP方法参数的一些小技巧。今天,我们带来的是更加深入的研究一下PHP中方法的参数类型。 在PHP5之后,PHP正式引入了方法参数类型约束。也就是如果指定了方法参数的类型,那么传不同类型的参数将会导致错误。在PHP手册中,方法的类型约束仅限于...[2021/3/1]

PHP内存溢出是什么样的

相信很多人做大批量数据导出和数据导入的时候,经常会遇到PHP内存溢出的问题,在解决了问题之后,总结了一些经验,整理成文章记录下。 优化点 优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。 查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如La...[2021/3/1]

关于PHP的方法参数类型约束

在之前的文章PHP方法参数的那点事儿中,我们讲过关于PHP方法参数的一些小技巧。今天,我们带来的是更加深入的研究一下PHP中方法的参数类型。 在PHP5之后,PHP正式引入了方法参数类型约束。也就是如果指定了方法参数的类型,那么传不同类型的参数将会导致错误。在PHP手册中,方法的类型约束仅限于...[2021/3/1]

后期静态绑定在PHP中的使用

什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了。今天我们还是再次深入的理解一下这个概念。 首先,我们通过一段代码来引入后期静态绑定这一概念: cla A { public static function who() { ...[2021/3/1]

[PHP] php使用curl_multi_exec并行同时执行http请求

当php代码要对外请求多个接口的时候 , 可以使用下面的方式并行执行多个请求 主要是使用curl_multi_exec函数实现 代码中请求的test.php文件 , 是sleep(10)秒 如果按传统的逐行执行的方式 , 请求两次这个接口代码会阻塞20秒的时间 , 现在使用同时并行执行的方...[2021/3/1]

MacOS下PHP7.1升级到PHP7.4.15的方法

最近写SDK的时候需要用到object类型提示符,PHPStorm智能提示说需要PHP7.2以上才能支持这种类型提示。 我一查我本机的PHP是7.1.30版本,于是考虑升级一下PHP版本。 首先要尝试使用如下命令进行升级: brew update brew upgrade ph...[2021/2/22]

PHP中类的自动加载

在之前,我们已经学习过Composer自动加载的原理,其实就是利用了PHP中的类自动加载的特性。在文末有该系列文章的链接。 PHP中类的自动加载主要依靠的是__autoload()和spl_autoload_register()这两个方法。今天我们就来简单的看一下这两个方法的使用。 _...[2021/2/22]

PHP中的“重载”是个啥?

PHP中的“重载”是个啥?

很多面试官在面试的时候都会问一些面向对象的问题,面向对象的三大特性中,多态最主要的实现方式就是方法的重载和重写。但是在PHP中,只有重写,并没有完全的重载能力的实现。 重写,子类重写父类方法。 重写 cla A { public function test($a) ...[2021/2/22]

PHP实现一个二维码同时支持支付宝和微信支付的示例

实现思路 生成一个二维码,加入要处理的url连接 在用户扫完码后,在对应的脚本中,判断扫码终端,调用相应的支付 若能够扫码之后能唤起相应app,支付宝要用手机网站支付方式,微信要使用jsapi支付方式 效果展示 提示: 因为项目即将上线,所以上面的支付二...[2021/2/19]

array_values()在php中返回数组的操作实例

在对数组的一些操作上,有些人对于键值方面不太理解。为了方便大家能够更好地对一些值进行返回,本篇带来了array_values() 函数进行介绍,使用后能直接返回数组。下面我们就array_values()函数的定义、语法、参数、返回值、实例进行介绍,一起都来看看返回数组的方法吧。 1、定义 ...[2021/2/18]

WEB前端第六十二课——自封装Ajax、跨域、分页

1.Ajax封装方法   自封装Ajax请求文件,其实就是将原生的Ajax的请求代码抽象为一个函数,   然后单独生成一个js文件保存,用到Ajax的时候引入文件,调用函数的过程。   封装Ajax大致步骤如下:     ⑴ 提供创建xhr对象的兼容性函数     ⑵...[2021/2/18]

PHP中的“重载”是个啥?

PHP中的“重载”是个啥?

很多面试官在面试的时候都会问一些面向对象的问题,面向对象的三大特性中,多态最主要的实现方式就是方法的重载和重写。但是在PHP中,只有重写,并没有完全的重载能力的实现。 重写,子类重写父类方法。 重写 cla A { public function test($a) ...[2021/2/18]

PHP中类的自动加载

在之前,我们已经学习过Composer自动加载的原理,其实就是利用了PHP中的类自动加载的特性。在文末有该系列文章的链接。 PHP中类的自动加载主要依靠的是__autoload()和spl_autoload_register()这两个方法。今天我们就来简单的看一下这两个方法的使用。 _...[2021/2/18]

PHP匿名类的用法

在PHP7之后,PHP中加入了匿名类的特性。匿名类和匿名方法让PHP成为了更现代化的语言,也让我们的代码开发工作越来越方便。我们先来看看匿名类的简单使用。 直接定义 $objA = new cla { public function getName() { ...[2021/2/18]

PHP怎么遍历对象?

对于php来说,foreach是非常方便好用的一个语法,几乎对于每一个PHPer它都是日常接触最多的请求之一。那么对象是否能通过foreach来遍历呢? 答案是肯定的,但是有个条件,那就是对象的遍历只能获得它的公共属性。 普通遍历 cla A { public $a1 ...[2021/2/18]

PHP实现一个二维码同时支持支付宝和微信支付

实现思路 生成一个二维码,加入要处理的url连接 在用户扫完码后,在对应的脚本中,判断扫码终端,调用相应的支付 若能够扫码之后能唤起相应app,支付宝要用手机网站支付方式,微信要使用jsapi支付方式 效果展示 提示: 因为项目即将上线,所以上面的支付二维码连接被我替换了(注...[2021/2/18]

WEB前端第六十一课——xhr对象POST请求、xhr兼容性、timeout、progress

WEB前端第六十一课——xhr对象POST请求、xhr兼容性、timeout、progress

1.xhr对象发送post请求   Ajax中post请求与get请求不同之处在于多了一个表单,而get请求则是通过url发送附加信息。   在xhr对象中,post请求可以通过FormData构建表单数据。   语法:var formData = new FormData(); ...[2021/2/1]

PHP的switch和ifelse谁更快?

对于多个if条件判断的情况下,我们使用switch来代替ifelse对于代码来说会更加的清晰明了,那么他们的效率对比呢?从PHP手册中发现有人已经对比过了,自己也用他的代码进行了实验: $s = time(); for ($i = 0; $i < 1000000000; ++$...[2021/2/1]

PHP的可变变量与可变函数

PHP的可变变量与可变函数

什么叫可变。在程序世界中,可变的当然是变量。常量在定义之后都是不可变的,在程序执行过程中,这个常量都是不能修改的。但是变量却不同,它们可以修改。那么可变变量和可变函数又是什么意思呢?很明显,就是用另一个变量来定义他们,这个变量是可变的呀! 可变变量 $a = ''hello''...[2021/2/1]

在PHP中灵活使用foreach+list处理多维数组

先抛出问题,有时候我们接收到的参数是多维数组,我们需要将他们转成普通的数组,比如: $arr = [ [1, 2, [3, 4]], [5, 6, [7, 8]], ]; 我们需要的结果是元素1变成1,2,3,4,元素2变成5,6,7,8,这时候,我们就可以用f...[2021/2/1]

DVWA通关之命令注入(command injection) - ruoli-s

DVWA通关之命令注入(command injection) - ruoli-s

DVWA通关之命令注入(command injection) 难度等级:low 过关思路 我们先将其难度设置为low,看到其界面如下: 通过分析得知,该功能是输入一个IP地址,然后通过ping进行测试,先输入127.0.0.1和www.baidu.com测试如下: 127....[2021/2/1]

对象赋值在PHP中到底是不是引用?

之前的文章中,我们说过变量赋值的问题,其中有一个问题是对象在进行变量赋值的时候,直接就是引用赋值。那么到底真实情况是怎样呢? 之前变量赋值的文章 PHP的变量赋值 对象引用测试 在继续深入的学习PHP手册后,发现原来对象还真不是直接的引用复制。通过下面手册中的例子来进行分...[2021/2/1]

彻底搞明白PHP中的include和require

在PHP中,有两种包含外部文件的方式,分别是include和require。他们之间有什么不同呢? 如果文件不存在或发生了错误,require产生E_COMPILE_ERROR级别的错误,程序停止运行。而include只产生警告,脚本会继续执行。 这就是它们最主要的区别,其他方面...[2021/2/1]

富文本编辑器新增导入word功能,自动转为html,可直接显示图片

用我现在最常使用的php框架fastadmin举例子,当然thinkphp或者原生php也是同样的原理,大家理解思路就好了、   环境:fastadmin,summernote编辑器 【summernote的居中功能在段落里,且不会吃掉section标签,加上导入word功能...[2021/2/1]

final关键字在PHP中的使用

final关键字的使用非常简单,在PHP中的最主要作用是定义不可重写的方法。什么叫不可重写的方法呢?就是子类继承后也不能重新再定义这个同名的方法。 cla A { final function testA(){ echo ''This is cla A!''...[2021/2/1]

goto语法在PHP中的使用

在C++、Java及很多语言中,都存在着一个神奇的语法,就是goto。顾名思义,它的使用是直接去到某个地方。从来代码的角度来说,也就是直接跳转到指定的地方。我们的PHP中也有这个功能,我们先来看看它是如何使用的: goto a; echo "1"; 不会输出 a: echo ''...[2021/1/25]

PHP中使用if的时候为什么建议将常量放在前面?

在某些框架或者高手写的代码中,我们会发现有不少人喜欢在进行条件判断的时候将常量写在前面,比如: if(1 == $a){ echo 111; } 这样做有什么好处呢?我们假设一个不小心的粗心大意,少写了一个=号,会有什么结果。 $a = ''a''; if($a =...[2021/1/25]

PHP中用+号连接数组的结果是?

我们在开发中,有时候会将两个数组合并连接起来,这个时候要注意了,千万不要偷懒直接使用+号哦,为什么呢?我们看看以下代码: $a = [1, 2]; $b = [4, 5, 6]; $c = $a + $b; print_r($c); 请用第一直接告诉我它的结果是什么?或许我这...[2021/1/25]

laravel 学习笔记 —— 神奇的服务容器

本文转载至:https: www.insp.top/learn-laravel-container laravel 学习笔记 —— 神奇的服务容器 竟然有人认为我是抄 Laravel 学院的,心塞。世界观已崩塌。 容器,字面上理解就是装东西的东西。常见的变量、对象属性等都可...[2021/1/25]

WEB前端第五十九课——时间戳、数据交互小案例

1.时间戳   程序开发中所说的时间戳,通常是指从1970年1月1日0时到当前事件的毫秒数。   time()方法,用于获取当前的时间戳,结果为毫秒数。   date()方法,用于将时间戳结果转换为通常的时间格式。   语法:date(format,timeStamp);   f...[2021/1/25]

php压缩文件夹并下载到本地

    /** * @param $path 要压缩的文件夹路径 * @param $filename 要生成的压缩包名称 */ public function create_zip($path,$filename) {   $zip = new \ZipArc...[2021/1/25]

WEB前端第六十课——原生Ajax与HTTP协议

1.Ajax简述   全名:Asynchronous JavaScript and xml,     是指围绕“由js向服务器发起http请求”这个功能而开发的一整套完整的方法。     因此,引入jQuery封装好的Ajax会浪费很多资源,实际利用到...[2021/1/25]

PHP方法参数的那点事儿

PHP方法参数的那点事儿

在所有的编程语言中,方法或者函数,都可以传递一些参数进来进行业务逻辑的处理或者计算。这没什么可说的,但是在PHP中,方法的参数还有许多非常有意思的能力,下面我们就来说说这方面的内容。 引用参数 涉及到值传递和引用传递的问题。在正常情况下,我们使用值传递的时候,变量是进行了拷贝,方...[2021/1/25]

PHP方法的返回值

不仅是PHP,大部分编程语言的函数或者叫方法,都可以用return来定义方法的返回值。从函数这个叫法来看,本身它就是一个计算操作,因此,计算总会有个结果,如果你在方法体中处理了结果,比如进行了持久化保存,那么这个函数就不用返回任何内容。而计算的结果是要给外部使用的,这时候就要将计算结果进...[2021/1/25]

PHP没有定时器?

PHP没有定时器?

确实,PHP没有类似于JS中的setInterval或者setTimeout这样的原生定时器相关的函数。但是我们可以通过其他方式来实现,比如使用declare。 先来看看是如何实现的,然后我们再好好学习一下declare表达式到底是个什么东西。 function do_tick($...[2021/1/25]

ubuntu 编译安装NGINX

ubuntu 编译安装NGINX

一、编译安装LNMP,并安装wordpre 1、下载nginx并解压缩。 root@ubuntu:~# wget http: nginx.org/download/nginx-1.18.0.tar.gz root@ubuntu:~# tar -xf nginx-1.18.0.tar...[2021/1/25]

【函数分享】每日PHP函数分享(2021-1-12)

str_pad() 使用另一个字符串填充字符串为指定长度 。  string str_pad ( string $input, int $pad_length[, string $pad_string=" "[, int $pad_type=STR_PA...[2021/1/18]

PHP的变量赋值

这个标题估计很多人会不屑一顾,变量赋值?excuse me?我们学开发的第一课就会了好不好。但是,就是这样基础的东西,反而会让很多人蒙圈,比如,值和引用的关系。今天,我们就来具体讲讲。 首先,定义变量和赋值这个不用多说了吧 $a = 1; $b = ''2''; $c = [4, ...[2021/1/18]

WEB前端第五十七课——单例模式、PDO、singleton获取PDO、PDO操作DB、PDO异常捕获

1.singleLeton   singleLeton称为单例模式,是一种构造类的设计模式。   目的是为了在全局获取这个类的对象时总能获取到唯一的对象,而不是每次实例化都创建出新的对象的一种结构。   特别是在DB操作中,DB连接这种对象就必须是通过单例模式来实现的。   代码...[2021/1/18]

了解PHP-FPM

在服务器上,当我们查看php进程时,全都是php-fpm进程,大家都知道这个就是php的运行环境,那么,它到底是个什么东西呢? PHP-FPM简介 PHP-FPM,就是PHP的FastCGI管理器,用于替换PHP FastCGI的大部分附加功能,在PHP5.3.3后已经成为了PHP的标...[2021/1/18]

PHP将一个二维数组对半切割成一个新的二维数组

需求:因为之前的帖子列表,是一行放一个,所以直接一个循环即可。现在新增加了一个模块,这个模块的帖子列表样式是一行放两个,本来想让前端做成自适应,这样就可以共用一个数组list的,但是由于历史版本是使用的table标签,所以最后还是需要改下列表的数据结构。 具体问题点:如下截图,就是对一...[2021/1/18]

WEB前端第五十八课——PDO预处理、PDO事务处理

1.PDO预处理Prepare   预处理语句Prepare是PDO提供的一种DB操作方式。   Prepare语句允许用户在“设置SQL语句”与“执行SQL语句”之间,进行参数的注入与提取操作。   Prepare方法的语言逻辑与正常的PDO访问相同,但正常的PDO访问是直接将参...[2021/1/18]

优雅地创建未定义类PHP对象

优雅地创建未定义类PHP对象

在PHP中,如果没有事先准备好类,需要创建一个未定义类的对象,我们可以采用下面三种方式: new stdCla () new cla {} (object)[] 首先是stdCla ,这个类是一个空的类模板,是PHP的内部保留关键字及类名。可以把它相像成是Java中的Object基...[2021/1/18]

Laravel 队列使用

Laravel 队列使用 1.修改根目录 .env 文件的 **QUEUE_CONNECTION **字段配置为 database Laravel可配置多种队列驱动,包括 "sync", "database", "beanstalkd", "sqs", "redis", "null"(...[2021/1/18]

[PHP] 解决chrome新版same-site策略跨域无法记录cookie

在chrome 80版本以上, 会默认开启same-site策略 samesite有以下几个值 Lax : 对同源、顶级域的请求才可以携带cookie (等价于same-site) Strict: 对同源请求才可以使携带cookie (等价于same-origin) None: 对于...[2021/1/18]

87
2
记录数:2990 页数:1/6012345678910下一页尾页
加载更多
 友情链接: NPS