如何防范XSS和CSRF?

2016-12-11
阅读 3 分钟
11.2k
距离上一次介绍XSS与CSRF已经过去了漫长了两个月,工作较忙,文章姗姗来迟。小小回顾一下究竟什么是XSS和CSRF:[链接] 《用大白话谈谈XSS与CSRF》。

谈谈社交软件中常用的小技巧:秒发功能

2016-08-01
阅读 3 分钟
5.6k
但是我们停下来用技术手段思考一下,这可能吗?有些2G网络最多也就几十K网速,我们的图片随便一张都几M,即使压缩过也有几百K,怎么可能瞬间发出消息呢?

编程中的那些经典套路——设计模式汇总

2016-06-18
阅读 1 分钟
9.6k
如果你还没有过多的编程经验(泛指半年以下),我建议你把它当做小说来看,能看懂多少是多少,因为半年以下经验的程序员用到设计模式的情况只会出现在面试上,至于实际工作中?相对来说这部分不会由你负责。

编程中的那些套路——关于策略模式

2016-06-18
阅读 1 分钟
3.8k
该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 今天讲讲策略模式,策略模式 和工厂模式十分相像(或者说在代码逻辑层面,他们是一样的)。 但策略模式与工厂模式有一点很重要的区别: 工厂模式:我们着眼于得到对象,并操作对象, 策略模式:我们着重得到对象某方法的运行结果 看代码 {...

编程中的那些套路——关于适配器模式

2016-06-18
阅读 1 分钟
2.9k
想象一个场景: 有一个类方法它部署在服务器上,专门负责大多数语言都通用的JSON语言,而现在我需要调用这个类方法,但我不需要返回JSON格式的数据了,我要返回序列化后的数据,我现在如何处理呢?是上去服务器修改这个类方法吗?这不科学吧?因为我们原本编写好的代码最好就不要再改了,很容易造成风险的。(这也是也为...

编程中的那些套路——关于简单工厂模式

2016-06-18
阅读 2 分钟
3.8k
该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 面向对象五大原则中有一点非常重要的原则:单一职责原则。 简单工厂模式就是遵循了这一原则,它让不同职责的类各司其职。 简单工厂模式是面向对象多态性的一个应用,它的好处在于: 代码具有一定的拓展性 遵循了单一职责原则 属于面向接...

编程中的那些套路——关于责任链模式

2016-06-18
阅读 2 分钟
3.5k
今天来谈谈责任链模式,乍一听责任链模式好像很高级的一样,但是相信我,其实每位天朝的同学都十分熟悉这个模式,责任链模式,就好像中国的官场制度一样,每一个级别的权利都区分的很细,举个生活中的栗子:

编程中的那些套路——关于桥接模式

2016-06-18
阅读 2 分钟
3.3k
该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 今天来谈谈桥接模式,桥接模式的功能在于将两个原本不相关的类结合在一起,然后利用两个类中的方法和属性,输出一份新的结果。 如图: 来看下具体代码吧: 桥接模式.php {代码...} 外部调用的时候,只需要选择并实例化自己需要的类,然...

编程中的那些套路——关于装饰器模式

2016-06-18
阅读 2 分钟
3k
有一篇帖子 帖子的内容我写好了, 三个部门的人员想控制它. 编辑组要添导读文字 审核组要去敏感字 市场部想在末尾加点广告 我只是一篇帖子,由你们来处置吧。

编程中的那些套路——关于观察者模式

2016-06-18
阅读 3 分钟
3.9k
让我们想象一个场景:一个网站有不同等级区域的用户,不同等级的的用户登录后可以获得对应的服务(一级用户登录后获得一级服务,二级用户登录后获得二级服务,…以此类推)。那么我们如何写这段业务逻辑呢?

编程中的那些套路——关于工厂模式

2016-06-18
阅读 2 分钟
4.2k
该文章属于《编程中的那些经典套路——设计模式汇总》系列,并且以下内容基于语言PHP 前面我们写了简单工厂模式,《编程中的那些套路——关于简单工厂模式》,但简单工厂模式有一些不足(违反开放封闭原则),所以需要设计出一套更加规范的设计模式。 工厂模式就在这个情形下产生了。 此处以数据库的选择为例子: 工厂模式算...

编程中的那些套路——关于单例模式

2016-06-18
阅读 2 分钟
3.8k
单例模式一般使用在资源共享和需要控制资源的情况下。 例如:购物车,回收站,数据库连接池,计数器,配置文件共享等所有项目中只需要存在一个的模块,你都可以采用单例模式。

foreach遍历过程中的奇怪现象(PHP5)

2016-05-02
阅读 3 分钟
6.7k
PHP中基础中的三大坑,foreach遍历,引用机制&,数组。 今天我们在讲讲foreach中的一些奇怪现象。 在讲解之前,可以先看看我其他相关的文章,属于同一个大的知识点,都看看有助于理解。 当我们使用foreach时,内部究竟发生了什么?(PHP5) PHP底层分析:关于写时复制(cow) PHP底层分析:关于强制分裂 △△△写前声明:以...

简单又好用的聊天室技术——WebSocket

2016-05-01
阅读 5 分钟
15.8k
现在,很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP request的header是非常长的,里面包含的数据可能只是一个...

Comet——随着AJAX技术兴起而产生的新技术

2016-04-29
阅读 1 分钟
7k
不得不说Ajax确实是一个好东西,由它的出现使得WEB端新技术不断产生,Comet就属于这么一个技术,这个技术有时叫做反向AJAX,有时叫做服务器"推"技术,嗯,不要被牛逼闪闪的名词吓倒,其实没那么难。

Ajax轮询——“定时的通过Ajax查询服务端”

2016-04-29
阅读 2 分钟
47.4k
Ajax轮询——"定时的通过Ajax查询服务端"。 概念: 轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 百闻不如一见,来段代码相信你一看就明白 //为了让同学们都明白,我用了最简单的实现方法,同学们懂了原理后可以自行衍生: Reception.html //前端代码 {代码...

用大白话揭开Ajax长轮询(long polling)的神秘面纱

2016-04-29
阅读 2 分钟
29.7k
在看这篇Ajax长轮询之前可以先看看Ajax轮询技术(没有长),有助于理解: Ajax长轮询属于Ajax轮询的升级版,在客户端和服务端都进行了一些改造,使得消耗更低,速度更快。 "不间断的通过Ajax查询服务端"。 来,小二,先上代码~: Reception.html //客户端 {代码...} server.php: //服务端 {代码...} 看出了玄机了嘛?长...

当我们使用foreach时,内部究竟发生了什么(PHP5)?

2016-04-27
阅读 3 分钟
6.8k
其实foreach遍历过程中,并不是直接操作$arr(原数组)的,而是会将$arr复制出一个$arrcopy(是一个$arr的一个复制品,我这里以$arrcopy代替),foreach在遍历过程中操作的其实一直是$arrcopy。注:关于$arrcopy这个值我们是没办法提取出来的,因为这是我给他的命名,并没有存在这个变量,但是foreach遍历过程中确实会产生...

PHP底层分析:关于强制分裂

2016-04-15
阅读 2 分钟
3.9k
前面写过一篇《PHP底层分析:关于写时复制(cow)》:[链接]今天来讲讲关于强制分裂的知识,简单来说,强制分裂就是”在引用变量主动赋值前,该变量传值赋值过,就会发生强制分裂。”

PHP底层分析:关于写时复制(cow)

2016-04-12
阅读 2 分钟
5.6k
想要走到技术的天花板,那么学习过程中在于知其然且知其所以然。 今天我们来讨论一下PHP底层的写时复制(也称写时分裂)。 首先我们先来看看一段代码: 两段代码的输出结果相信各位都知道,但是我们今天讲讲这之中发生了什么。 下图是PHP存储变量的结构体(为方便讲解已写了注释),zend.h在Zend目录下。 可以看到,该结构体...

从ThinkPHP源码讲解_initialize()与__construct()

2016-04-07
阅读 2 分钟
4.2k
最近在学习ThinkPHP框架,看到_initialize()函数,也正好做个小总结 简单看了谷歌,百度上的教程,感觉噼里啪啦说了好多,全在进行测试,都没说到点子上~ 实验版本:ThinkPHP 3.2.3,PHP5.6。 _initialize()函数的出现是为了我们可以在子类中同时调用父类与子类的构造函数。 想要搞明白最简单方法的就是打开TP的源码,最...

一串简单的代码牵扯出的Session,Cookie,$_SESSION,$_COOCIE之间关系问题

2016-04-06
阅读 2 分钟
3.2k
发现有很多朋友一直误以为Session和$_SESSION,Cookie和$_COOKIE是对等的,特意写了一篇文章讨论一下他们之间的关系,免得在面试中掉坑以及在项目中出错

Session过期策略研究

2016-04-04
阅读 2 分钟
6.5k
以下观点以以PHP语言举例,使用的是chrome浏览器[48.0.2564.116 (正式版本) m (32 位)](△注意这点,因为Firefox浏览器关闭后PHPSESSID会强行缓存,测试会导致不准)2016年10月21日新增: edge关闭后PHPSESSID悔刷新但chrome与firfox都不会了。猜测后两个浏览器不会是为了用户体验考虑。