转载于:https://zhuanlan.zhihu.com/p/...
答案并不是标准,是做者经验之谈,仅供参考php
mysql_real_escape_string须要预先链接数据库,并可在第二个参数传入数据库链接(不填则使用上一个链接)html
二者都是对数据库插入数据进行转义,可是mysql_real_escape_string转义时,会考虑数据库链接的字符集。mysql
它们的用处都是用来能让数据正常插入到数据库中,并防止sql注入,可是并不能作到100%防止sql注入。jquery
由于客户端编码以及服务器端编码不一样,可能产生注入问题,可是其实这种场景很少见。linux
被弃用的缘由是官方再也不建议使用mysql_xx的数据库操做方式,建议使用pdo和mysqli,由于无论从性能跟安全来看,mysqli都比mysql要好。redis
产生泄漏的缘由有好几种:算法
(1) 页面元素被删除,可是绑定在该元素上的事件未被删除;sql
(2) 闭包维持函数内局部变量(外部不可控),使其得不到释放;shell
(3) 意外的全局变量;数据库
(4) 引用被删除,可是引用内的引用,还存在内存中。
从上述缘由上看,内存泄漏产生的根本缘由是引用没法正确回收,值类型并不能引起内存泄漏。
对于每一个引用,都有本身的引用计数,当引用计数归零或被标记清除时,js垃圾回收器会认为该引用能够回收了。
65535 - 1024 = 64511 个
http头部能够被篡改,可是只能修改X_FORWARDED_FOR,真实ip地址(REMOTE_ADDR)很难修改(除非是路由器去修改),由于真实ip是底层会话ip地址,并且由于TCP 3次握手的存在,链接没法创建,伪造的意义不大,至于UDP的话,通常是内网才使用UDP通讯。
百万奖品在打乱后预先insert到数据库,全部中奖操做,均只能update,不能insert。进来抽奖的用户使用memcahe原子加锁,实现抽奖次数自增,当抽奖次数到达3时,返回不中奖。
设置奖品几率,分三张表,都使用innodb引擎,一张存中奖记录(预先插入一行),一张存奖品发放概况,一张存用户抽奖状况(uin惟一索引),大并发状况下,利用mysql的排他锁进行并发控制。流程以下:
begin
查询用户抽奖次数,加排他锁
对用户抽奖次数的更新/插入
锁行查询发放状况
得到抽奖结果(某些奖品发完以后,动态变动几率)
更新发放表
插入中奖记录
commit
CRC32
O(log(n)),O(1)
由于哈希表是散列的,在遇到key
>'12'这种查找条件时,不起做用,而且空间复杂度较高。
b+数根据层数决定时间复杂度,数据量多的状况下通常4-5层,而后用二分法查找页中的数据,时间复杂度远小于log(n)。
使用sapi通信,sapi是php封装的对外数据传递接口,一般有cgi/fastcgi/cli/apache2handler四种运行模式。
垃圾回收是指当php运行状态结束时,好比遇到了exit/die/致命错误/脚本运行结束时,php须要回收运行过程当中建立的变量、资源的内存。
ZEND引擎维护了一个栈zval,每一个建立的变量和资源都会压入这个栈中,每一个压入的数组结构都相似:[refcount => int, is_ref => 0|1, value => union, type => string],变量被unset时,ref_count若是变成0,则被回收。
当遇到变量循环引用自身时,使用同步回收算法回收。
http://www.cnblogs.com/xesam/...
创建映射关系并缓存起来;资源并不能真正同步加载,只是返回一个回调。
先用彩虹字典查找,再尝试暴力破解。
会发生fatal错误,由于继承的方法或属性只能维持或放大权限,不能缩小,好比protected重载为public是可行的。
0、浏览器本地缓存匹配;
一、本地hosts映射对比;
二、本地dns缓存解析;
三、远程dns解析得到服务器ip地址;
四、浏览器发送tcp链接请求包(syn);
五、请求包通过传输层、网络层、数据链路层封装经过网卡到达路由器;
六、路由器转发数据包到所属运营商服务器;
七、运营商服务器经过寻址最短路径经过中继节点到达指定ip地址;
八、服务器端可能存在反向代理或者负载均衡,都是直接转发请求至上游服务器,固然也能够制定安全防护规则直接丢弃请求包;
九、上游服务器收到链接请求,在自身可用的状况下,返回(syn+ack);
十、浏览器校验ack,再次发送(syn+ack);
十一、服务器校验ack切换链接状态至established,而后根据请求传输数据包;
十二、当transform-encoding为chunked时,浏览器开始渲染页面;
1三、四次挥手,链接关闭;
1四、渲染数据完成。
长链接机制,表示keep-alive-timeout时间内,若是链接没有closed,再次传输数据再也不须要三次握手了。