Uh80 - uh80.com - phplife
General Information:
Latest News:
xhprof安装及使用 10 Apr 2013 | 01:21 pm
负载高的时候怎么办?总不能看代码找原因吧吧,这时候要要进行性能分析, 找到负载高的问题点 编译安装 获取源代码包 root@sourcjoy>wget http://pecl.php.net/get/xhprof-0.9.2.tgz 解压 root@sourcjoy>tar zxf xhprof-0.9.2.tgz root@sourcjoy>cd xhprof-0.9.2 复制web访问目录到w...
MySQL的ORDER BY索引优化 2 Mar 2013 | 07:20 am
生成环境中会用到各种排序,通过执行 EXPLAIN SELECT … ORDER BY,就知道MySQL是否在查询中使用了索引。如果 Extra 字段的值是 Using filesort,则说明MySQL无法使用索引。 MySQL索引通常是被用于提高WHERE条件的数据行匹配或者执行联结操作时匹配其它表的数据行的搜索速度。 MySQL也能利用索引来快速地执行ORDER BY和GROUP BY语句的...
获取IP地址并且有存储到数据库的安全问题 28 Aug 2012 | 07:00 pm
首先,IP地址可以伪造(假如你的IP获取函数试图读取HTTP_X_FORWARDED_FOR,因为”HTTP_X_FORWARDED_FOR”这个值是通过获取HTTP头的”X_FORWARDED_FOR”属性取得); 获取过程没有在magic_quotes_gpc的自动addslashes处理范围内,伪造的IP地址带上单引号就很容易攻击; 如果IP地址有存储到数据库(跟ip相关的查询、插入、更新)...
使用jquery的jsonp模式造成xss攻击问题 28 Aug 2012 | 06:58 pm
使用jquery的jsonp模式解决跨域请求问题,网上给的示例中php部分代码一般是类似 echo $_REQUEST['callback'].’(‘.json_encode($data).’)'; 直接将客户端提交callback参数对应的值输出,容易造成xss攻击, callback对应的值是由jquery自动生成的,不同版本的生成格式略有区别, 可以做以下过滤,目前兼容各版本: if(iss...
PHP中null字符截断攻击及防范 1 Apr 2012 | 03:53 pm
如果文件包含或者文件读取等函数的路径参数带有null字符,会截断null后面的字符串 如 include($_GET['ac'].’.php’); 或者 file_get_contents($_GET['ac'].’.txt’); 这时提交”ac=/etc/passwd%00″,其中的”%00″将截断后面的.php或者”.txt” 解决方法: 1、一般incluce动态文件可以白名单过滤解...
GBK双字节编码绕PHP单引号转义详解–SQL注入攻击 16 Mar 2012 | 04:46 pm
//db class:mysql_query(“SET NAMES ‘gbk’”); //http://localhost/test.php <?php … $username = trim($_GET['username']); $pwd = trim($_GET['pwd']); $sql = “SELECT * FROM user WHERE username=’$usernam...
PHP-CGI 进程 CPU 100% 与 file_get_contents 函数的关系 3 Nov 2011 | 02:46 am
有时候,运行 Nginx、PHP-CGI(php-fpm) Web服务的 Linux 服务器,突然系统负载上升,使用 top 命令查看,很多 php-cgi 进程 CPU 使用率接近100%。后来,我通过跟踪发现,这类情况的出现,跟 PHP 的 file_get_contents() 函数有着密切的关系。 大、中型网站中,基于 HTTP 协议的 API 接口调用,是家常便饭。PHP 程序员们喜欢...
PHP session回收机制及php.ini session生命期gc_maxlifetime配置/gc_maxlifetime无效 13 Oct 2011 | 01:22 am
由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效。当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/session.gc_divisor(同样可以通过php.ini或者ini_set()函数来修改) 的值,来决定是否启动一个GC(Garbage Collector)。默认情况下,session.gc_prob...
MySQL随机查询的优化实例 7 Aug 2011 | 04:58 pm
MySQL随机查询的效率如果想得到提高,就需要进行优化,下面就为您介绍一个MySQL随机查询优化成功的例子,供您借鉴参考。 一直以为MySQL随机查询几条数据,就用 SELECT * FROM `table` ORDER BY RAND() LIMIT 5 就可以了。 但是真正测试一下才发现这样的MySQL随机查询效率非常低。一个15万余条的库,查询5条数据,居然要8秒以上 查看官方手册...
PHP导出MySQL数据到Excel文件 7 Aug 2011 | 03:06 am
经常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限。这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件。 以下是代码片段: <?php // 输出Excel文件头,可把user.csv换成你要的文件名 header(’Content-Type: ap...