![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
罗正波
这个作者很懒,什么都没留下…
展开
-
用户的锁定
之前由于做一个小项目的需要,做一个用户登录密码输错几次之后被锁定。但是本人还觉得还有瑕疵,就是在连续输错几次之后被锁定,但是目前实现的是时间上不连续错误几次就被锁定!MODEL类中的代码 class UserModel extends Model { protected $trueTableName ="mgj_administrators"; // 数据映原创 2017-04-07 13:55:55 · 878 阅读 · 0 评论 -
登录失败次数限制(原生php代码实现)
登录密码错误次数限制 安全对每个网站的重要性,不言自明。 其中,登陆又是网站中比较容易受到攻击的一个地方,那么我们如何对登陆功能的安全性加强呢? 我们先来看一些知名的网站是如何做的Github Github网站同一个账号在同一个IP地址连续密码输错一定次数后,这个账号是会被锁定30分钟的。如下图所示:Github这么做的主要原因,我觉得主要基于以下考虑:防止用户的账号密码被暴力破解Si转载 2017-08-22 12:08:29 · 9598 阅读 · 0 评论 -
php面试总结
php面试总结总结:这是面试我所遇到的大部分的知识点,供大家参考,没有写答案,大家自己可以查查,后续我会持续更新PHP基础1:变量的传值与引用。2:变量的类型转换和判断类型方法。3:php运算符优先级,一般是写出运算符的运算结果。4:PHP中函数传参,闭包,判断输出的echo,print是不是函数等。5:PHP数组,数组函数,数组遍历,预定义数组(面试必出)。6:PHP面向对象,魔术方转载 2017-09-07 16:23:48 · 2459 阅读 · 0 评论 -
php 中的陷阱
count(false) > 0 // truecount(0) > 0 // true"随便一个字符串" == 0 // true"不是0的一个字符串" == true // true$a = "2级";$b = "14级";$b > $a // false 不要做这样的比较isset("") === true // 0 === false // false iconv("UTF转载 2017-09-08 11:25:24 · 352 阅读 · 0 评论 -
sphinx搜索优化
php+中文分词scws+sphinx+mysql打造千万级数据全文搜索 转:https://blog.csdn.net/nuli888/article/details/51892776原创 2018-05-30 10:08:39 · 705 阅读 · 0 评论 -
Apache 压力测试工具ab
Apache 压力测试工具abab是针对apache的性能测试工具,可以只安装ab工具。ubuntu安装abapt-get install apache2-utils1centos安装abyum install httpd-tools1ab的参数详细解释格式: ./ab [options] [http://]hostname[:port]/path参数:-n在...原创 2018-08-27 12:02:15 · 303 阅读 · 0 评论 -
ThinkPHP5.0 空模块、空控制器、空操作的跳转
ThinkPHP5.0 空模块、空控制器、空操作的跳转空模块首先找到think\App.php,备份,然后修改: 找到【throw new HttpException(404, ‘module not exists:’ . $module);】,在它前面添加【 header(‘Location:/404.html’);die;//在此进行跳转】空控制器、空操作<?php...原创 2018-08-27 12:05:48 · 2181 阅读 · 0 评论 -
CGI、FastCGI和PHP-FPM关系
CGI、FastCGI和PHP-FPM关系图解 转:https://www.awaimai.com/371.html 目录基础Module方式CGIFastCGI介绍FastCGI简单介绍FastCGI的工作原理PHP-FPM介绍总结参考资料在搭建 LAMP/LNMP 服务器时,会经常遇到 PHP-FPM、FastCGI和CGI 这几个概念。如果对它们一知半解...转载 2018-09-28 10:02:22 · 316 阅读 · 0 评论 -
PHP中多文件上传函数
[code="java"]/** * 多文件文件上传函数 * @param string $pic 表中type='file'的name值 * @param string $path 文件上传成功后存放的路径 * @param int $size 文件上传的最大允许大小,单位为字节;默认为0,不限制 * @param array $types 允许上传文件的类型,默认为图片...原创 2017-02-14 22:48:45 · 291 阅读 · 0 评论 -
简单的比较两个文档的相似度
先将两个文件的内容写入字符串,然后利用similar_text()字符串比较函数比较相似度[code="java"] header("content-type:text/html;charset=utf-8"); //将文件1写入一个字符串 $file1 = file_get_contents("./xiaojj.php"); ...2017-02-18 16:25:16 · 3867 阅读 · 0 评论 -
PHP倒计时的原理
1、先确定一个时间点,获得当前的时间戳。2,、用截止时间去减去现在的时间,分别的对时间进行处理。[code="java"] //设置字符集 header("content-type:text/html;charset=utf-8"); //如何实现倒计时 ...2017-02-18 18:01:20 · 125 阅读 · 0 评论 -
php接口安全设计及实现
php接口安全设计浅谈接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:(1)Token授权机制:(Token是客户端访问服务端的凭证)–用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果...原创 2019-01-08 11:26:49 · 1863 阅读 · 0 评论 -
将PHP的SESSION数据存放到Redis中
将PHP的SESSION数据存放到Redis中 在php中,SESSION的数据默认是存放到文件中,这样性能不仅不高,而且不利于扩展。在搭建集群后,默认存放到文件中就不适用了。所以,我们一般将SESSION自定义,让SESSION中的数据存放到 数据库中、Memcache中、Redis中。今天介绍如何将SESSION数据存放到Redis中。步骤如下修改php.ini session.sav转载 2017-08-22 11:33:07 · 2439 阅读 · 0 评论 -
公共开放WebService接口
公共网络开放的WebService接口webservice测试工具:http://download.csdn.net/detail/yixiaoping/6589315快递查询WEB服务 http://webservice.36wu.com/ExpressService.asmx支持上百家快递/物流查询,准确高效,所有数据均来自快递服务商。此数据返回类型进行了封装,方便开发人员和应用者进行调用转载 2017-06-26 00:17:23 · 3310 阅读 · 0 评论 -
RBAC权限管理
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员”、“版主”都是角转载 2017-05-05 16:44:16 · 207 阅读 · 0 评论 -
PHP文件处理系统总结
文件系统概述 1.1 文件类型 1.1.1 概述 ①在程序运行时,程序本身和数据一般都存在内存中,当程序运行结束后,存放在内存中的数据被释放。 ②如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。 ③文件一般指存储在外部介质上具有名字(文件名)的一组相关数据集合。用文件可长期保存数据,原创 2017-03-25 12:18:48 · 526 阅读 · 0 评论 -
GD库常见知识
PHP GD库图像处理PHP中GD库的使用 1.1 GD简介 PHP 不仅限于只产生 HTML 的输出,还可以创建及操作多种不同格式的图像文件。 PHP提供了一些内置的图像信息函数,也可以使用GD函数库创建新图像或处理已有的图像。 目前GD2库支持GIF、JPEG、PNG和WBMP等格式。此外还支持一些FreeType、Type1等字体库。 JPE原创 2017-04-02 20:28:57 · 340 阅读 · 0 评论 -
PHP文件上传与下载
PHP文件的上传与下载文件上传 1.1 客户端上传设置 ① form 必须用 post ② 给form 指定属性 enctype=’multipart/form-data’ ③ <input type='file' name=""> ④ 表单中可以对上传文件的大小进行限制 (可选) <input type='hidden' name=原创 2017-04-02 20:34:32 · 243 阅读 · 0 评论 -
RegExp
PHP 中的正则表达式正则表达式简介 1.1 什么是正则 ① /^[0-9a-zA-Z_-]+@[0-9a-zA-Z_-]+(.[0-9a-zA-Z_-]+){0,3}$/ 就是正则 ② 正则表达式是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的模式分割、匹配、查找及替换操作。 到目前为止,我们前面所用过的精确(文本)匹配也是一种正则表达式。原创 2017-04-02 20:54:23 · 441 阅读 · 0 评论 -
Include与require的区别
include与require的区别: 1、执行的原理不一样: include包含文件时,程序遇到include才执行的包含,require是无条件包含也就是如果一个流程使用了require,无论条件成立与否都会先执行require。 2、报错不一样: include包含失败报warning级别的错误,后续代码继续执行;require报fatal err原创 2017-03-27 11:54:05 · 2821 阅读 · 0 评论 -
GET和POST的区别
get和post区别: 1、参数的大小:get方式传递的参数收到浏览器URL的影响,而post方式传送的参数受到配置文件post_max_size(默认为8M) 2、get方式通常是用来接收数据的, 而post方式通常是用来传输数据的。 3、get传输的数据放在http中,而post传输的数据放在http请求体中。 4、get方式传输的数据安全原创 2017-03-27 11:55:01 · 199 阅读 · 0 评论 -
PHP邮件发送验证
由于项目中需要做一个邮箱验证。一直在网上找各种资料,出现各种发送不了邮箱。最后在我坚持下终于可以在使用qq发送验证邮箱了。具体步骤如下:1,先去qq邮箱中的 点击设置-》点击帐户-》将smtp的权限开启 如图: 如果是设置POP3和SMTP的SSL加密方式,则端口如下: POP3服务器(端口995) SMTP服务器(端口465或587)。 2,查看你的Openssl和Socke原创 2017-04-03 22:59:59 · 10031 阅读 · 0 评论 -
SESSION与COOKIE
前面学习时,服务器一直在自己的电脑上,而客服端的浏览器也是自己用的浏览器,为了更方便自己理解。所以将会话控制的知识总结一下。 作者:罗正波 2017/3/5 13:55:40 会话控制定义:会话控制是一种面向连续的可靠的通信方式,通常根据会话控制记录判断用户的登录行为。用户在浏览网页时,可能需要访问多个页面来完成一个事务,那么需要在切换页面的时候,服务器能保存用户的登录状态以及用户的数据等原创 2017-03-05 13:57:05 · 272 阅读 · 0 评论 -
PHPMailer发送邮件出现Permission denied的解决办法
使用PHPMailer发送邮件, 可能会出现Permission denied错误, 如下:2016-06-30 04:05:00 Connection: opening to smtp.exmail.qq.com:25, timeout=300, options=array ( ) 2016-06-30 04:05:04 SMTP ERROR: Failed to connect to serv转载 2017-04-14 23:37:00 · 684 阅读 · 0 评论 -
PHPmailer发送邮件SMTP Error:Could not authenticate
phpmailer发送邮件 SMTP Error: Could not authenticate 错误 www.111cn.net 更新:2013-10-12 编辑:kp12345 来源:转载 今天在使用phpmailer发送邮件时居然提示SMTP Error: Could not authenticate,这个感觉是smtp设置的问题,下面我在网上找到了几种解决办法。转载 2017-04-15 00:48:49 · 25998 阅读 · 4 评论 -
如何打印日志
一、配置php配置文件1.error_reporting = E_ALL2.display_errors = Off3.log_errors = On4.log_errors_max_len = 1024095.error_log = /usr/local/error.log配置完成,重启web服务器 php不会把错误输出在页面 而是保存在这个文件二、自定义错误信息error_log转载 2017-05-02 21:47:59 · 953 阅读 · 0 评论 -
定时任务执行shell脚本中 grep -v grep 中的坑
需求有一个后台进程会异常挂掉,没有时间去看错误记录,需要暴力重启该进程,每次都手动的执行觉得很麻烦,于是写了个简单的shell脚本来定时执行。脚本第一次写的脚本解释:一开始上如上图这样,./test.sh 跑一下,是可以的。但是用定时器来跑失败。分析:ps 命令将某个进程显示出来 。-e 显示所有进程。-f 全格式。grep 查找字符grep -v grep 是过滤掉自己执行...原创 2019-03-29 13:52:18 · 6313 阅读 · 3 评论