现在位置: 首页 > Php
2018年09月13日 Php, 网络安全 ⁄ 共 1848字 暂无评论
文章目录 本地复现 0x00 【漏洞预警】ThinkPHP v5.1.22版本曝出SQL注入漏洞 近日,ThinkPHP又曝出SQL注入漏洞,ThinkPHP以前曝出的SQL注入漏洞已经不少了,6月份就曝过“update”和“insert”类型的注入。由于其庞大的用户数量,还是需要重视一下。该漏洞是因为未正确处理所接收数组类型参数的key,直接拼接到了SQL语句的order by后面,导致漏洞的产生。该漏洞可以获取数据...
阅读全文
添加第三方源 由于ubuntu各个版本目前都没有官方的PHP7.0的源,所以我们只能自己添加第三方的源 sudo add-apt-repository ppa:ondrej/php 更新源,安装PHP 添加源之后,我们需要更新源。然后正式开始安装PHP7.0 sudo apt-get update sudo apt-get install php7.0 最后安装常用扩展 目前该第三方源已经提供了大部分常用的PHP扩展。但是需要注意的是,目前该源中的PHP扩展,部分是部分是根据PHP7重写的,部分是兼容模式的 PHP...
阅读全文
public function getMinLimit () { $sql = "..."; $result = yii::app()->db->createCommand($sql); $query = $result->queryAll(); return array ( $query [0] ['max'], ); } $connection=Yii::app()->db; $sql="SELECT u.account,i.* FROM sys_user as u left join user_info as i on u.id=i.user_id"; $rows=$connection->createCommand ($sql)->query();...
阅读全文
2016年01月20日 Php, 编程开发 ⁄ 共 809字 暂无评论
Goodby CSV是一个内存高效灵活的和可扩展的开源的CSV导入导出的类库,托管于Github上,Goodby有一个特色,就是能方便的通过自定义一个回调函数逐行处理CSV文件(这也造成它的缺点:数据处理时间长)。我把它加入项目中调用,生产环境中原来8M文件要吃2G内存的到现在只需几十M,具体处理时间和自己写的处理回调函数有很大关系。 PHP版本要求:5.3.2以上 扩展要求: PHP必须包含mbstring扩展 Git库地址:https://github.com/goodby/...
阅读全文
2016年01月06日 Php, 编程开发 ⁄ 共 6854字 暂无评论
文章目录 1.尽量静态化: 2.echo的效率高于print,因为echo没有返回值,print返回一个整型; 3.在循环之前设置循环的最大次数,而非在在循环中; 4.销毁变量去释放内存,特别是大的数组; 5.避免使用像__get, __set, __autoload等魔术方法; 6.requiere_once()比较耗资源; 7.在includes和requires中使用绝对路径。 8.如果你需要得到脚本执行时的时间,$_SERVER['REQUSET_TIME']优于time(); 9...
阅读全文
2015年12月14日 Php, 编程开发 ⁄ 共 1110字 暂无评论
在Yii框架中,为了防止csrf攻击,封装了CSRF令牌验证。 只需要在主配置文件中进行简单的配置,就可以实现CSRF的验证,但是默认的开启是整站开启,当有时候需要某些地方不要经过拦截时我们就可以用如下方式,此说明只针对Yii1.0有效。 要实现此方法需要要重写CHttpRequest类。 1. 在框架的framework/global/extensions/http/ 目录下新建一个WFilterHttpRequest类 继承创建一个类,继承于CHttpRequest,里面加入代码如下 /** *...
阅读全文
HTML //页面Js代码 // {{item.title}} {{/each}} // ]]> JS代码 $('#previewPic').on('click', function () { var YII_CSRF_TOKEN =$('#YII_CSRF_TOKEN').val(); $.post('index.php?r=shop/previewBanners', {YII_CSRF_TOKEN : YII_CSRF_TOKEN }, function(ret) { if(ret.code == 200){ alert('发布成功!'); return false; } initData = ret.data; var ht...
阅读全文
2015年11月18日 Php, 编程开发 ⁄ 共 2973字 暂无评论
由于公司的项目是用的是wokerman 前面一直是在Ubuntu系统下跑workerman开发的,安装没有问题 ,最近将开发环境换成MacBook 下 发现扩展都装了 但是workerman启动不了,Mac默认是自带php环境的,我自带的php版本是php5.5.30 然后扩展安装了,却发现一只启动不了,最后在问了walkor后 让换一个php版本 换了一个php版本就可以了,具体步骤如下 首先mac 是自带了php环境 我们需要自己再安装一个php然后替换掉原有的php就可以了 1.安装homeb...
阅读全文
随着 JetBrains 新版本的发布,注册机已然不行了。 然而,道高一尺,魔高一丈。 IntelliJ IDEA开源社区 提供了如下通用激活方法: 注册时选择 License server,填 http://idea.qinxi1992.cn/ ,然后点击 OK,就搞定了。 注意 http://idea.qinxi1992.cn/ 务必加上最后的 /,否则激活失败 通用windows linux mac   这款IDE收费有点小贵,这里提供一下注册码(推荐正版) IDEA 15 http://idea.qinxi1992.cn/ IDEA 14 http://i...
阅读全文
2015年11月03日 Php, 技术架构 ⁄ 共 1387字 评论 1 条
php使用TCP长连接优化 一、面向人群 如果你的站点架构满足以下几点,那么本文的优化方案会非常适合你: 1)使用php等脚本语言作为开发语言 2)需要连接后端服务,例如RPC服务、memcache或redis等 3)流量非常大 二、解决的问题 常见的web架构如上: 1)最前端是APP或者web页面 2)服务器上层是web-server进行接入 3)php脚本语言调用后端数据,完成业务逻辑,拼接页面 4)最后端是服务、缓存、数据库 我们都知道,php是一种脚...
阅读全文
2015年11月02日 Php, 编程开发 ⁄ 共 396字 暂无评论
CHttpException 无法解析请求 "error/system"。 yii此错误 请求400的解决办法 第一种解决办法是关闭Csrf public function init(){ $this->enableCsrfValidation = false; } 第二种解决办法是在form表单中加入隐藏域 <input name="_csrf" type="hidden" id="_csrf" value="<?php Yii::$app->request->csrfToken ?>"> 第三种解决办法是在AJAX中加入_csrf字段 var csrfToken = $('meta[n...
阅读全文
在CI 3.0中有一个csrf(Cross Site Request Forgery) protection的功能 开启了csrf后 由于出于安全考虑 ci3中用ajax post 提交 必须要用到toke 令牌 如果这个扩展打开了的话 POST ajax提交就会报错 我用的nginx 报的403 The action you have requested is not allowed. 大意是 你所要求的行动是不允许的。 会无法执行 这时候要在表单传送的数值中加入一个token的值 才能正常使用表单功能 可以在application/config/config.php中...
阅读全文
推荐下面两个接口,写的两个小函数 推荐下面两个接口,写的两个小函数 新浪ip库接口,经测试速度快,稳定 // 根据IP查询用户地理位置,新浪API function getCity($ip) { if(!empty($ip)){ $url = "http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=".$ip; $ip = json_decode(file_get_contents($url)); if ((string)$ip->ret == 0) { return false; ...
阅读全文
简单的写了两个小函数来实现 数组转对象 对象转数组 /** * @param array $arr 传人一个数组. * @return object|void 返回一个对象. */ function arrayToObject($arr) { if (gettype($arr) != 'array') return; foreach ($arr as $k => $v) { if (gettype($v) == 'array' || getType($v) == 'object') $arr[$k] = (object)arrayToObject($v); } return (object)$arr; } ...
阅读全文
2015年10月16日 Php, 编程开发 ⁄ 共 774字 暂无评论
1. 首先到phpmailer 在github托管的开源仓库下载最新的phpmailer 地址 https://github.com/PHPMailer/PHPMailer 2. 然后解压到yii项目目录下的 /protected/extensions/phpmailer 目录 将phpmailer 里面的 class.stmp.php 复制到 /protected/extensions/ 下改名为STMP.php 注意 下载下来的文件夹是大写的,在Linux和yii中是区分大小写的,改成小写的即可 3. 再新建文件 /protected/extensions/CPhpMailer.php,内容如下: ...
阅读全文
×