![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PHP
倾城一笑stu
这个作者很懒,什么都没留下…
展开
-
PHP项目常见的安全问题
常见安全问题:恶意攻击,暴力破解;Sql注入;Xss攻击。(1)恶意攻击,暴力破解Get方式恶意攻击,(dos),通常硬件的方式来防止,防火墙。Post方式暴力破解,从程序的角度来防止,最通用的方法就是增加验证码。(2)Sql注入黑客通过在表单中填入特殊的字符或者 是 url中增加特殊的字符,然后想数据库发起请求,拼凑出sql语句,达到攻击的目的。有两种原创 2016-08-26 17:26:45 · 4174 阅读 · 0 评论 -
网站高并发高负载系统架构
一、高并发和高负载的约束条件硬件部署操作系统Web 服务器PHPMySQL测试二、解决之道——硬件篇处理能力的提升:部署多颗CPU,选择多核心、具备更高运算频率、更大高速缓存的CPU;处理能力的提升最直接的反应在于Web请求的处理效率和PHP程序的执行效率。内存带宽与容量:更大的内存带宽和容量;内存带宽与容量的提升原创 2016-09-20 22:07:28 · 465 阅读 · 0 评论 -
Win10系统下WampServer不能正常运行原因深度探索
升级Win10后,发现原来的WampServer无法正常运行了,甚是郁闷,后来查了很多资料,终于解决了这个问题。欣喜之情不觉溢于言表,所以写这篇博客,希望能帮到大家。WampServer无法正常运行无非有以下几个原因: 1.安装运行WampServer2.5时提示“计算机中丢失 MSVCR110.dll” 安装WampServer2.5的过程中就出原创 2016-05-26 12:16:04 · 10986 阅读 · 1 评论 -
页面静态化技术深入探究
一、页面静态化的必要性随着网站的内容的增多和用户访问量的增多,无可避免的是网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。一般情况下会从以下方面来做优化:动态页面静态化、优化数据库、使用负载均衡、使用缓存、使用CDN加速。现在很多网站在建设的时候都要进行静态化的处理,为什么网站要进行静态化处理呢?我们都知道纯静态原创 2016-10-20 12:52:10 · 9163 阅读 · 0 评论 -
商品表的sql
# tinyint : 0~255# smallint : 0~ 65535# mediumint : 0~1千6百多万# int : 0~40多亿# char 、varchar 、 text容量?# char :0~255个字符# varchar : 0~65535 字节 看表编码,如果是utf8存2万多汉字 gbk存3万多汉字# text : 0~65535 字符C原创 2016-11-16 11:35:45 · 4672 阅读 · 0 评论 -
PHP的继承方法如何获取子类名?
php后期静态绑定问题:例如<?phpclass A{ function __construct() { echo __CLASS__; } static function name() { echo __CLASS__; }}class B extends A{}$objB = new B()原创 2016-11-14 00:53:14 · 6403 阅读 · 0 评论 -
MySQL中group_concat函数深入理解
MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符'])1.基本查询 mysql> select * from aa; +------+------+ | id| name | +------+---原创 2016-12-07 23:22:32 · 591 阅读 · 0 评论 -
几个常用的高级函数
1.php获取当前页面完整url地址的函数function get_url(){ $url = (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == '443') ? 'https://' : 'http://'; $url .= $_SERVER['HTTP_HOST']; $url .= isse原创 2016-11-25 11:38:06 · 1484 阅读 · 0 评论 -
PHP使用3种方法实现数据采集
什么叫采集?就是使用PHP程序,把其他网站中的信息抓取到我们自己的数据库中、网站中。 PHP制作采集的技术:从底层的socket到高层的文件操作函数,一共有3种方法可以实现采集。1. 使用socket技术采集:socket采集是最底层的,它只是建立了一个长连接,然后我们要自己构造http协议字符串去发送请求。例如要想获取这个页面的内容,http://tv.youku.c原创 2016-10-22 20:55:22 · 26181 阅读 · 8 评论 -
php工程师面经
今天忽然想写写面试经历了,毕竟是职业生涯的第一次面试,还成功地拿到了offer,终究是值得纪念的。 故事从暑假开始说起。那时投了很多简历给南昌的公司,不过几乎都拒绝了,原因是不招兼职,因为我还要读大三,无法进入全职状态。 起初现在这家公司也是拒绝的,因为不招兼职,但是后来,也就是9月14号,我生日那天,公司的hr突然问我是否还想去实习,当时我正在上数据库实验课,原创 2016-09-25 21:53:23 · 1263 阅读 · 0 评论 -
二维数组排序
问题引入: 例如现在要对下面的二维数组按照姓名(name)的字典顺序升序排列:$person = array( array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21), array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23), array('num'=>'003'原创 2017-04-04 19:44:48 · 8414 阅读 · 0 评论 -
sql语句 不让结果排序,按照in语句的顺序返回结果
问题引入,假如有一张数据表结构如下:现在的需求是:查找id为7,10,2,1,5的记录,并让结果按in的顺序输出来,也就是说,结果集转换成二维数组后,二维数组里面的一维数组里的id分别是7,10,2,1,5,而不是1,2,5,7,10。如果sql语句这样写:SELECT * FROM classone WHERE id IN(7,10,2,1,5) ,那肯定是不行的,因为结原创 2017-04-04 22:28:19 · 7063 阅读 · 0 评论 -
Apache重写规则解析
1、.htaccess文件使用前提.htaccess的主要作用就是实现url改写,也就是当浏览器通过url访问到服务器某个文件夹时,作为主人,我们可以来接待这个url,具体地怎样接待它,就是此文件的作用。所有的访问都是通过URL实现,所以.htaccess的作用非同小可。正因为此,所以一般地网站通过设 置.htaccess,通过一个十分友好的url吸引用户进来,然后用.htaccess把用户带转载 2017-05-23 23:17:06 · 1052 阅读 · 0 评论 -
php防止模拟请求
1.一些网站是采用检测此IP地址登录的密集度,多次登录后需要输入验证码,那么这时CURL模拟的提交就需要去对验证码图片进行分析,这样就会花费大量时间,当然,这种是对于防止登录被爆破,用户资料泄露的。2.还有一种就是直接在session保存生成的随机码,然后放在input的隐藏域,这种比验证码那种差了许多。3.注意javascipt本身是无法跨域提交的,不是因为不能做到,而是防止别人原创 2016-10-30 21:26:11 · 3365 阅读 · 0 评论 -
apache的虚拟域名rewrite配置以及.htaccess的使用。
在web服务器领域,Apache基本上是一统天下的,虽然现在越来越多的人转向nginx的,但是仍然由于apache的高性能以及强大的功能,还是大多数服务器在使用Apache。apache的安装就先不说了。今天主要来说Apache的虚拟域名功能以及对应的rewrite配置。配置虚拟域名啥是虚拟主机呢?就是说把你自己的本地的开发的机子变成一个虚拟域名,比如:你在开发pptv下面的一个项目转载 2016-10-20 23:50:32 · 7658 阅读 · 1 评论 -
伪静态的实现方法
伪静态不是优化效率的方案,它指的是URL优化的一种方式。取决于是否存在查询参数(queryString)动态的URL:script.php?param=value&key=value静态的URL(pathinfo):script.php/param/value/key/value.html静态化url的目的,是为了SEO(搜索引擎优化),还能为了简化URL,美化URL。典型的URL原创 2016-10-20 13:30:34 · 6292 阅读 · 2 评论 -
利用iframe实现局部刷新
利用iframe来实现注册1.reg.html 用户名: 密 码: var username = document.getElementById("username"); var ifr = document.getElementById("ifr"); //绑定失去焦点事件 username.o原创 2016-08-26 19:22:37 · 2253 阅读 · 0 评论 -
PHP获取文件后缀名(提供7种方法)
1.$file = 'x.y.z.png';echo substr(strrchr($file, '.'), 1);解析:strrchr($file, '.') strrchr() 函数查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符2.$file = 'x.y.z.png';echo substr($file, strrpos($fil原创 2016-09-22 23:56:57 · 40756 阅读 · 0 评论 -
php四种基础算法:冒泡,选择,插入和快速排序法
许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣。作为一个初级phper,虽然很少接触到算法方面的东西 。但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌握的。下面是我按自己的理解,将四个方法分析一遍。需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。 $arr(1,43,54,62,21原创 2016-09-20 22:13:33 · 342 阅读 · 0 评论 -
php的几个面试题
1.完整的商城系统包含哪些模块?商品、促销、订单、会员模块、权限模块、报表、广告。2.php运行模式:CGI、FAST-CGI、CLI、ISAPI、APACHE模块。不同的web服务器使用的是不同的运行模式来运行php。Apache :apacheNGINX:FAST-CGIIIS:ISAPICLI模式:不是在web服务器里运行的,而是在命令行里运行。CGI模式:通原创 2016-10-23 10:45:23 · 594 阅读 · 0 评论 -
memcache具体使用
memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。很多大型网站都使用了memcached做缓存,下面我将做详细的介绍。一、memcache简介及安装1.简介:Memcache是高性能的分布式的高速内存对象缓存系统,基于Key-value型存储。将数据存储在内存里原创 2016-10-05 11:43:10 · 6229 阅读 · 0 评论 -
mongodb快速入门
一、mongodb快速入门-基本操作1.NoSQL(非关系型),MongoDB就是一种非关系型的数据库,MongoDB是nosql的一种产品。Member,redis等等都属于NoSQL类的产品。关系型:就是有一对多,多对多,多对一等等的事务逻辑,可以联表操作,而非关系型就是没有这些关系,不可以进行联表操作。MongoDB是面向文档的数据,一条记录叫做文档,多个文档叫做集合。集合相当于原创 2016-08-05 22:27:49 · 948 阅读 · 0 评论 -
XML入门
一、 XML简介1. XML是可扩展的标记语言,解决了HTML不可扩展的问题,用来保存或传输数据。2. 特点:基于文本格式、标签没有被预定义,需要自定义、是元语言3. 文档结构组成(1)最上面一行是文档的声明,注意:声明必须放在第一行 (2)是一种树形的结构(3)必须包含根元素,在根元素中扩展到树叶(4)文档有元素、属性、值、注释、实体组成4.标签的规则原创 2016-10-06 22:26:40 · 349 阅读 · 0 评论 -
php实现无限极分类
关于无限极分类的介绍就不多叙述了,下面直接贴代码。比如有一个category表,如下:要实现无限极分类,则可以使用下面的方法.类形式:class Category { static public function sortOut($cate,$pid=0,$level=0,$html='--'){ $tree = array();原创 2016-11-06 16:17:35 · 1085 阅读 · 0 评论 -
RBAC权限管理
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图)角色是什么?可以理解为一定数量的权限的集合,权限的载体。例如:一个论坛系统,“超级管理员转载 2016-11-06 15:51:40 · 384 阅读 · 0 评论 -
PHP使用CURL抓取网页
CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:初始化连接句柄;设原创 2016-09-20 21:56:44 · 8312 阅读 · 0 评论 -
PHP操作Excel
php操作Excel其实就是用了一个PHPExcel类,这个类提供了很多方法,支持生成Excel文件,支持生成报表等等。首先我们得去官网下载这个PHPExcel类。百度PHPExcel,搜索结果最上面显示的那个就是PHPExcel的官网(http://phpexcel.codeplex.com/),点击进入,官网首页右侧有一个download按钮,点击下载即可,下载完后解压,找到里面的Cl原创 2016-11-06 23:37:18 · 6675 阅读 · 0 评论 -
PHP运行模式
PHP运行模式有4钟:1)cgi 通用网关接口(Common Gateway Interface))2) fast-cgi 常驻 (long-live) 型的 CGI3) cli 命令行运行(Command Line Interface)4) web模块模式(apache等web服务器运行的模块模式)1. CGI(Common Gateway Interface)转载 2016-11-10 00:11:57 · 455 阅读 · 0 评论 -
Apache和Nginx的区别
Apache与Nginx的优缺点比较 1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优原创 2016-11-10 00:18:48 · 490 阅读 · 0 评论 -
linux使用crontab实现PHP执行定时计划任务
首先说说cron它是一个linux下的定时执行工具。根用户以外的用户可以使用 crontab 工具来配置 cron 任务。所有用户定义的 crontab 都被保存在/var/spool/cron 目录中,并使用创建它们的用户身份来执行。要以某用户身份创建一个 crontab 项目,登录为该用户,然后键入 crontab -e 命令来编辑该用户的 crontab。该文件使用的格式和 /etc/cro原创 2016-11-10 01:12:16 · 3799 阅读 · 1 评论 -
定时执行php脚本
使用PHP定时执行某些任务的话, 可以有以下两个方法:1. Linux下crontab, windows下计划任务,具体实现可以参考我之前写的一篇博客:http://blog.csdn.net/zls986992484/article/details/531088362. 使用php的相关函数set_time_limit(0);ignore_user_abort(true);//这原创 2016-11-10 02:14:20 · 2070 阅读 · 0 评论 -
PHP的错误日志
对于PHP开发者来说,一旦某个产品投入使用,应该立即将 display_errors选项关闭,以免因为这些错误所透露的路径、数据库连接、数据表等信息而遭到黑客攻击。但是,任何一个产品在投入使用后,都难免会有错误出现,那么如何记录一些对开发者有用的错误报告呢?我们可以在单独的文本文件中将错误报告作为日志记录。错误日志的记录,可以帮助开发人员或者管理人员查看系统是否存在问题。如果需要将程序中的错误报告原创 2016-11-09 23:34:08 · 660 阅读 · 0 评论