随笔分类 - 挑战高薪-PHP
安全
摘要:1,修改id可查看别人的信息问题 2,post直接用$_POST,导致不相干的数据被修改 3,文件上传,不校验类型 //如果上传一个php文件,就炸了 //下面都是通过获取图片数据流中头部几个字节来判断图片类型的, //这样就为web_shell注入 提供了机会,木马程序只需要在头部插入相关图片类型
阅读全文
网站高并发优化策略
摘要:前端 1,前后分离 把前端代码放到cdn,优化前端代码量 2,css,js代码可以放到页面里,尽量减少单独文件 3,图片放到一个大图片里,建设服务器io 服务器端 1,使用缓存 2,优化数据库 3,使用消息队列(防止服务器卡住),防止超卖问题
阅读全文
设计模式
摘要:单例模式 <?php class sigle { protected static $ins =null; public static function getIns() { if (self::$ins==null){ self::$ins=new self(); } return self::$
阅读全文
冒泡算法及排序算法
摘要:1,冒泡算法 <?php // 定义一个随机的数组 $a = array(23,15,43,25,54,2,6,82,11,5,21,32,65); // 第一层可以理解为从数组中键为0开始循环到最后一个 for ($i = 0; $i < count($a) ; $i++) { // 第二层为从$
阅读全文
php 异步执行
摘要://下面两种情况,如果命令执行过长的话,都会堵塞,造成页面超时 $command = 'php exe.php' popen($command,'r') pclose(popen($command,'r')) //不堵塞执行,不会造成页面超时 $command = 'nohup php exe.ph
阅读全文
缓存
摘要:缓存击穿,缓存穿透,缓存雪崩 1,缓存穿透:越过缓存,直接读数据库 使用错误的id,导致缓存找不到数据而直接找数据库 2,缓存击穿:某条数据在过期的时候,大量访问 解决方案:加互斥锁 redis setnx SET if Not eXists 成功返回1 失败返回0 function get($ke
阅读全文