- 博客(20)
- 收藏
- 关注
转载 最全反爬虫技术
一、通过User-Agent来控制访问:无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,比如知乎的requestsheaders:Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8Accept-Encoding:gzi...
2019-09-26 11:18:00 540
转载 MySQL Explain详解
查看SQL是否使用索引,前面加上explain即可explain select * from table_name where name = 'meili';也可以这样写explain select * from table_name where name = 'meili'\G概要描述:id:选择标识符select_type:表示查询的类型。table:输出结果集的表parti...
2019-09-25 16:28:00 184
转载 php接口安全设计
接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:(1)Token授权机制:(Token是客户端访问服务端的凭证)--用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token...
2019-09-24 14:41:00 203
转载 PHP进程间通信
PHP作为解释器运行通过线程或者进程都能实现(如果使用Apache,那么就可能使用多线程模型。使用php-fpm,就是使用多进程模型,这里以多进程模型解释)。服务器每接收到一个请求就要起一个PHP进程,平均一个PHP进程消耗内存2M左右(默认最大为8M,参数可以设置)。独立的进程让PHP能专一的做自己的解释工作,程序员也从复杂的代码逻辑中走出来,不用担心资源的竞争和各种锁问题。独立进程虽...
2019-09-23 15:46:00 230
转载 PHP进程及进程间通信
环境php中的进程是以扩展的形式来完成。通过这些扩展,我们能够很轻松的完成进程的一系列动作。pcntl扩展:主要的进程扩展,完成进程创建于等待操作。posix扩展:完成posix兼容机通用api,如获取进程id,杀死进程等。sysvmsg扩展:实现system v方式的进程间通信之消息队列。sysvsem扩展:实现system v方式的...
2019-09-23 15:12:00 185
转载 php和mysql连接方式(短 长 池)
一个php work进程只能处理一个请求,当完成一个请求了,才能处理下一次的请求2.短连接:执行到php关闭mysql连接的代码时,就断开,否则在处理本次请求结束的时候,释放mysql连接实验:<?php $dbhost = '127.0.0.1'; $dbdatabase = 'im'; $username = 'root';...
2019-09-20 16:43:00 421
转载 MySQL数据库持久连接
数据库持久连接:1.持久的数据库连接是指在脚本结束运行时不关闭的连接。当收到一个持久连接的请求时。PHP 将检查是否已经存在一个(前面已经开启的)相同的持久连接。如果存在,将直接使用这个连接;如果不存在,则建立一个新的连接。所谓“相同”的连接是指用相同的用户名和密码到相同主机的连接。2.第一种方法是将 PHP 用作一个单独运行的语言解释器(CGI Wapper)。在这种情况下...
2019-09-20 10:24:00 455
转载 php长连接和短连接区别
连接->传输数据->关闭连接比如HTTP是无状态的的短链接,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。具体就是 浏览器client发起并建立TCP连接 -> client发送HttpRequest报文 -> server接收到报文->server handle并发送HttpResponse报文给前端,发送完毕之...
2019-09-20 09:31:00 605
转载 过滤sql注入关键字
//过滤sql注入关键字 function filter_sql($str){ if (empty($str)) return false; $str = htmlspecialchars($str); $str = str_replace( '/', "", $str); $str = str_r...
2019-09-20 09:12:00 1040
转载 Mysql连接池
摘自百度百科:数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。在以前的apache或php-fpm中,数据库是没有连接池的,请求开始,在需要查询数据的地方开始建立数据库连接,之后查询数据,请求完成连...
2019-09-19 13:36:00 361
转载 swoole定时器
linux中的计划任务,最小的单位只能到分钟级别,如有业务在秒级单位的计划,crontab将无法完成。而swoole_timer是基于timerfd+epoll实现的异步毫秒定时器,为我们实际提示了很好的解决方案。一次性定时器<?php// 5秒后输出 hello worldswoole_timer_after(3*1000,function (){echo...
2019-09-19 13:32:00 165
转载 使用swoole管理进程
PHP有一个pcntl的扩展用来管理进程,但是这个扩展比较底层,然后不好用。多进程一般用来解决大计算量的问题。场景:修改当前这个进程的名字<?php/*# 修改进程的名称// 修改当前进程的名字swoole_set_process_name('swoole_php_process');sleep(100);*/// 创建一个子进程$worker ...
2019-09-19 13:30:00 162
转载 PHP常用设计模式(工厂模式&单例模式)
工厂模式设计模式的含义:所谓设计模式,就是针对某些常见的典型设计需求(目的),前人总结的实现该需求(目的)的一套典型代码模式——就是套路,是前人经验的总结。当然,不同的需求(目的),有不同的代码模式,也就形成了不同的设计模式。工厂模式的含义:就是要设计这样一个类,它专门用于“生产其他某些类的对象”——这个类,被称为工厂类。...
2019-09-18 13:46:00 190
转载 面向对象(通俗易懂)
类是抽象的,是泛指,是某一类事物的统称对象是具体的,是特指,是某一个具体事物的“特称”Dog就是类,$d1就是对象。$d1是通过Dog“new”出来的(一个类通过new就可以得到一个对象)。其中,类的名称Dog不区分大小写,但$d1作为变量,是区分大小的!提示:每个对象都会由系统给其分配一个“对象编号”,该对象编号在当前...
2019-09-17 16:52:00 380
转载 一致性hash及php实现(通俗易懂)
一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。在了解一致性哈希算法之前,最好先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多...
2019-09-17 10:16:00 353
转载 web程序的访问流程
DNSDomain Name System的简写,意思为域名解析系统。其中保存了服务器名(域名)与IP地址之间的映射关系。1)DNS服务器服务器的真正身份信息为IP地址。需要专门的服务器来解析IP地址与域名的映射关系。当从浏览器输入域名地址,发起请求时,浏览器访问DNS服务器,获取域名对应的IP地址。然后使用该IP地址访问服务器。我们自行注册域名后,需要解析...
2019-09-17 10:05:00 368
转载 socket
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。s...
2019-09-16 13:16:00 100
转载 TCP三次连接,四次断开
TCP:Transmission Control Protocol传输控制协议面向连接,传输数据之前需要建立连接通过“三次握手”的方式完成连接,是安全可靠协议传输速度慢,效率低实例:apache、nginx、mysql、php-fpm这样的服务都是基于tcpUDP:User Datagram Protocol用户数据报协议面向无连接,传输数据之前源端和目的端不需要建立连接发送数据不进行检...
2019-09-16 13:11:00 223
转载 初学Laravel框架与ThinkPHP框架的不同
作为一个PHP菜鸟初学Laravel框架 在学习过程中我发现了其与TP框架的不同点,由于时间问题和认识还不够完善我先写出其中几点,有错误的地方希望各位大牛斧正... 1.渲染模版方式的不同:在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版; 2.在实际开发中我...
2019-09-16 12:14:00 231
转载 常见的web漏洞
一、XSS漏洞XSS是跨站脚本攻击(Cross Site Scripting)的缩写,分为存储型,反射型漏洞两种1.存储型xss漏洞(风险等级:高)漏洞危害存储XSS把用户输入的数据存储到数据库,显示到前端页面。攻击者可进行身份验证盗取和蠕虫攻击。存储型XSS也叫做“持久型XSS”漏洞验证2.反射型XSS漏洞(风险等级:中)漏洞危害反...
2019-09-12 15:32:00 322
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人