PHP相关系列
老码农zhuli
自娱自乐的代码人!GIT:https://github.com/zhuli
展开
-
PHP相关系列 - PHP开发web应用安全总结
XSS跨站脚本概念:恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。 危害:盗取用户COOKIE信息。跳转到钓鱼网站。 操作受害者的浏览器,查看受害者网页浏览信息等。 蠕虫攻击。描述:反射型跨站。GET或POST内容未过滤,可以提交JS以及HTML等恶意代码。 代码://正常U原创 2012-06-22 15:30:59 · 5270 阅读 · 1 评论 -
PHP相关系列 - 使用 PHP 直接在共享内存中存储数据集
来源:http://www.ibm.com/developerworks/cn/opensource/os-php-shared-memory/ 概述共享内存是一种在相同机器中的应用程序之间交换数据的有效方式。一个进程可创建一个可供其他进程访问的内存段,只要它分配了正确的权限。每个内存段拥有一个惟一的 ID(称为 shmid),这个 ID 指向一个物理内存区域,其他进程可转载 2012-06-28 11:32:26 · 1228 阅读 · 0 评论 -
PHP相关系列 - 获取文件大小的方法
直接获取的方法:将文件使用file_get_contents取回后,strlen或者存为文件后使用filesize使用get_header$a_array = get_headers($url, true);$size = $a_array['Content-Length'];Echo $size; 3.使用fsockopen,然后正则匹配出文件大小原创 2012-07-02 14:48:39 · 1363 阅读 · 0 评论 -
PHP相关系列 - Linux下安装Redis
获取源码包wget http://redis.googlecode.com/files/redis-2.4.15.tar.gz 解压,安装tar zxvf redis-2.4.15.tar.gz cd redis-2.4.15 make && make install启动Redis,启动之前要将配置文件redis.conf中的daemonize改成yes,这样就可以原创 2012-07-23 19:31:59 · 1217 阅读 · 0 评论 -
PHP相关系列 - PHP set_error_handler函数
set_error_handler函数:函数设置用户自定义的错误处理函数。该函数用于创建运行时期间的用户自己的错误处理方法。该函数会返回旧的错误处理程序,若失败,则返回 null。 语法:set_error_handler(error_function,error_types)参数:error_function : 必需。规定发生错误时运行的函数。error_typ原创 2012-07-24 17:33:29 · 1052 阅读 · 0 评论 -
PHP相关系列 - 兼容JAVA的PHP加密解密DES算法
今天一直折腾和JAVA对接数据加密解密的问题。刚开始使用TEA的加密算法,但是JAVA那边和PHP端加密出来的结果不一样只能修改算法,将算法修改成了DES的加密算法但是PHP需要装一个mcrypt扩展,这点有点烦人看代码吧: /** * 加密 * @param string $str 字符串 * @param string $key 密钥 */ pu原创 2012-07-25 18:22:22 · 4184 阅读 · 0 评论 -
PHP相关系列 - PHP in_array函数的一个危险用法
<?phpif (in_array('', array(0,1))) echo '错误';if (in_array(false, array(0,1))) echo '错误';if (in_array(true, array(0,1))) echo '错误';if (in_array($a['a'], array(0,1))) echo '错误';PHP in_array()函数中如果原创 2012-08-06 19:37:17 · 1685 阅读 · 0 评论 -
PHP相关系列 - PHP和JS加解密算法代码 很有用
<?php/*$mem = new Memcache();$mem->addServer('10.249.198.235', 11211);$ckey = 'num:lock';$key = 'num';if (false === $mem->add($ckey,1,0,1)) exit;$num = $mem->get($key);if ($num === fal转载 2012-08-01 18:53:57 · 1982 阅读 · 0 评论 -
PHP相关系列 - XSS相关
关于XSS(跨站脚本攻击)和CSRF(跨站请求伪造)我们常说的网络安全其实应该包括以下三方面的安全:1、机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马。2、完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子,当然这是传说,常见的方式是XSS跨站脚本攻击和csrf跨站请求伪造。3、可用性,比如我们的网络服务是否可用,常用的攻击方式是dos和d转载 2012-09-12 14:37:32 · 1862 阅读 · 0 评论 -
PHP相关系列 - PHP JSON_ENCODE问题
今天在json_encode的时候,中文字是null后来检查发现不是utf-8编码,改成utf-8编码后就OK了记录一下!原创 2012-08-01 18:24:09 · 763 阅读 · 0 评论 -
PHP相关系列 - Redis导数据的PHP脚本
<?php$from = '127.0.0.1:6200/6';$to = '127.0.0.1:6200/8';$from_redis = redis_init($from);$to_redis = redis_init($to);$keys = $from_redis->keys('*');$count = 0;$total = count($keys)转载 2012-07-27 10:01:31 · 1106 阅读 · 0 评论 -
PHP相关系列 - 我们什么时候应该使用异常?
来源:http://www.laruence.com/2012/02/02/2515.html先说个题外话: 在公司做了俩件事, 是我觉得很有意义的, 第一就是成立了一个PHP邮件组, 第二就是成立了一个Hi群. 目前俩者都有超过500 phpers在里面. 我一直认为, 构建一个交流平台, 让同学们能顺畅, 简单的沟通, 是营造积极的技术学习氛围的基础和前提. 让每个人的问题不会成为别人的问转载 2012-07-26 18:13:52 · 1234 阅读 · 0 评论 -
PHP相关系列 - PHP CURL类
/********************************************************************************* * InitPHP 2.0 国产PHP开发框架 扩展类库-CURL *-----------------------------------------------------------------------------原创 2012-06-18 13:08:32 · 1474 阅读 · 1 评论 -
PHP相关系列 - PHP 拼音类
/********************************************************************************* * InitPHP 2.0 国产PHP开发框架 扩展类库-pinyin *---------------------------------------------------------------------------原创 2012-06-18 13:25:08 · 2047 阅读 · 0 评论 -
PHP相关系列 - PHP 常用开发函数库
/********************************************************************************* * InitPHP 2.0 国产PHP开发框架 扩展类库-方法库 *------------------------------------------------------------------------------原创 2012-06-18 12:51:05 · 1079 阅读 · 0 评论 -
PHP相关系列 - Rolling cURL: PHP并发最佳实践
在实际项目或者自己编写小工具(比如新闻聚合,商品价格监控,比价)的过程中, 通常需要从第3方网站或者API接口获取数据, 在需要处理1个URL队列时, 为了提高性能, 可以采用cURL提供的curl_multi_*族函数实现简单的并发.本文将探讨两种具体的实现方法, 并对不同的方法做简单的性能对比. 1. 经典cURL并发机制及其存在的问题经典的cURL实现机制在网上很容易找到, 比如转载 2012-06-27 15:50:14 · 1079 阅读 · 0 评论 -
PHP相关系列 - 蚂蚁变大象:浅谈常规网站是如何从小变大的
来源:http://stblog.baidu-tech.com/?p=16432005年,我开始和朋友们开始拉活儿做网站,当时第一个网站是在linux上用jsp搭建的,到后来逐步的引入了多种框架,如webwork、hibernate等。在到后来,进入公司,开始用c/c++,做分布式计算和存储。(到那时才解开了我的一个疑惑:C语言除了用来写HelloWorld,还能干嘛?^_^)。总而言之,转载 2012-07-18 18:13:19 · 5493 阅读 · 0 评论 -
PHP相关系列 - 漫谈社区PHP 业务开发
作者:luhaixia (百度搜索研发部博客)来源:http://stblog.baidu-tech.com/?p=1954 在当前这个互联网业务飞速发展时期,新的产品如雨后春笋般涌出,老产品线新业务也在不断突破和尝试。这就对快速开发迭代提出了更高的要求。一、基础运行环境针对新产品的开发,必须能够快速搭建一套LAMP架构。那么无外乎选择一个webserver转载 2012-11-12 17:40:50 · 1369 阅读 · 0 评论 -
PHP相关系列 - 正则表达式表格
字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个 后向引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。^匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。$转载 2012-06-22 12:34:30 · 1162 阅读 · 0 评论 -
PHP相关系列 - 优化你的PHP代码
1.如果一个方法能被静态,那就声明他为静态的,速度可提高1/4;2.echo的效率高于print,因为echo没有返回值,print返回一个整型;3.在循环之前设置循环的最大次数,而非在在循环中;4.销毁变量去释放内存,特别是大的数组;5.避免使用像__get, __set, __autoload等魔术方法;6.req转载 2012-06-22 12:43:12 · 1039 阅读 · 0 评论 -
PHP相关系列 - PHP 图片处理类
/********************************************************************************* * InitPHP 2.0 国产PHP开发框架 扩展类库-图片处理类 *----------------------------------------------------------------------------原创 2012-06-18 13:35:56 · 2050 阅读 · 2 评论 -
PHP相关系列 - PHP Mongodb类
/********************************************************************************* * InitPHP 2.0 国产PHP开发框架 Dao-Nosql-Mongo *----------------------------------------------------------------------原创 2012-06-18 12:41:02 · 2895 阅读 · 0 评论 -
PHP相关系列 - PHP超时处理全面总结
【原创】PHP超时处理全面总结 作者:heiyeluren博客:http://blog.csdn.net/heiyeshuwu时间:2012/8/8 【 概述 】 在PHP开发中工作里非常多使用到超时处理到超时的场合,我说几个场景:1. 异步获取数据如果某个后端数据源获取不成功则跳过,不影响整个页面展现2. 为了保证Web服务器不会因为当个页面处理性能差转载 2012-08-22 18:47:11 · 1537 阅读 · 0 评论 -
PHP相关系列 - 浅析http协议、cookies和session机制、浏览器缓存 .
作者: benwin来源:http://www.phpben.com/?post=77最近几天在复习http协议中headers,cookies、session、缓存等相关知识,发现些新知识点。这篇文章注重结合PHP去理解这些内容,也就是比较注重实践部分。一、 http headers NO1:对于web应用,用户转载 2012-07-31 18:37:06 · 2941 阅读 · 0 评论 -
PHP相关系列 - memcache的一致性Hash算法
来源:http://blog.csdn.net/kongqz/article/details/6695417 一、概述 1、我们的memcache客户端(这里我看的spymemcache的源码),使用了一致性hash算法ketama进行数据存储节点的选择。与常规的hash算法思路不同,只是对我们要存储数据的key进行hash计算,分配到不同节点存储。一致性hash算法是对我们要存储数转载 2012-12-04 18:34:27 · 1600 阅读 · 0 评论 -
PHP相关系列 - 安装php环境错误解决
错误: configure: error: libevent >= 1.4.11 could not be found 解决: yum -y install libevent libevent-devel错误:configure: error: xml2-config not found. Please check your libxml2 installation. 解决: yu原创 2012-10-15 09:43:07 · 2182 阅读 · 0 评论 -
PHP相关系列 - HTTP 缓存概念和强迫浏览器使用缓存的示例
对于静态的html页面,浏览器首次访问后会把该网页放入存入缓存。再次访问该页面的时候,请求头会附上:If-Modified-Since: Mon, 17 Sep 2012 08:52:31 GMT之样的数据。发送给服务器,服务器收到后发现这个日期之后没更改,就发送304响应给客户端。客户端就乖乖的显示它自己的缓存了。如果你按住CTRL+F5,则表示强制刷新,请求头中不包含If-Mo转载 2012-11-16 15:55:24 · 1079 阅读 · 0 评论 -
PHP相关系列 - 对PHP框架的一些看法
为什么要用框架?1. 团队快速开发2. 代码规范性3. 安全性,框架一般会做一层安全处理4. 代码可扩展和可维护但是非得拘泥于框架么?1. 不能局限于使用框架,只会使用框架必然会成为机器人。2. 需要去了解框架的结构,本质,以及实现方式。吸取优秀的地方。3. 不要迷信框架,框架不能帮你解决所有的问题,也不能保证没有BUG,出现问题应该学会去思考怎么解决,是修改框原创 2012-08-28 09:38:11 · 1361 阅读 · 0 评论 -
PHP相关系列 - Linux服务器-Memcache常用安装和使用
memcache安装前准备:memcache安装前需要准备以下安装包:1. memcache包:memcached-1.4.0.tar.gz2. php扩展包:memcache-2.2.5.tgz 安装memcache:将memcache安装到/usr/local/lib目录下面:sudo tar zxvf memcached-1.4.0.tar.gz cd原创 2012-10-04 18:01:42 · 1674 阅读 · 1 评论 -
PHP相关系列 - 浅谈php web安全
2012-09-27 13:18 621人阅读 评论(0)收藏举报作者:phpben来源:http://www.phpben.com/?post=79 浅谈php web安全前言:首先,笔记不是web安全的专家,所以这不是web安全方面专家级文章,而是学习笔记、细心总结文章,里面有些是我们phper不易发现或者说不重视的东西。所以笔者写下来方便以后查阅。转载 2012-10-10 09:06:51 · 1519 阅读 · 0 评论 -
PHP相关系列 - 再一次, 不要使用(include/require)_once
原文:http://www.laruence.com/2012/09/12/2765.html最近关于apc.include_once_override的去留, 我们做了几次讨论, 这个APC的配置项一直一来就没有被很好的实现过.在这里, 我想和大家在此分享下, 这个问题的原因, 以及对我们的一些启示.关于使用include还是include_once(以下,都包含require_转载 2012-12-04 18:52:56 · 1496 阅读 · 0 评论 -
PHP相关系列 - php缓存扩展频繁存储/读取数组引发CPU过高问题排查手记(php-memcache为例)
来源:http://www.iirr.info/blog/?p=155最近进行性能排查的时候发现一个怪事:用php-memcache,缓存命中率越高CPU反而占用越大。联想起之前用Xcache进行载入速度排除测试时也出现此问题,不禁疑惑了:不是说缓存命中率越高越好么?怎么变成烧CPU了?今天周六总算空闲,决定硬着头皮去粗略浏览相关扩展源代码。现在写下来当手记。 (1)php转载 2012-11-01 18:14:21 · 2253 阅读 · 0 评论 -
PHP相关系列 - 某开源php软件的一个安全漏洞所想
早上看到某开源php软件爆出这么一个漏洞:http://www.xxxx.net//index.php?m=search&c=index&a=public_get_suggest_keyword&url=asdf&q=../../phpsso_server/caches/configs/database.php以上网址为phpcms的应用程序然后基本你的数据库密码就沦陷了。原创 2012-10-23 14:35:17 · 2670 阅读 · 0 评论 -
PHP相关系列 - php与memcached服务器交互的分布式实现源码分析[memcache版]
前段时间,因为一个项目的关系,研究了php通过调用memcache和memcached PECL扩展库的接口存储到分布式缓存服务器的机制,在此做我根据他们各自的源码进行分析,希望能对这方面感兴趣的人有些帮助。本篇文章我会针对php和memcache扩展库的交互根据源码展开分析。PHP调用memcache的接口通常会是如下过程:$mmc = new Memcache(); $m转载 2013-01-11 20:43:19 · 1213 阅读 · 2 评论 -
PHP相关系列 - PHP 分页类
/********************************************************************************* * InitPHP 2.0 国产PHP开发框架 扩展类库-分页类 *------------------------------------------------------------------------------原创 2012-06-18 12:55:07 · 842 阅读 · 0 评论 -
PHP相关系列 - linux环境下PHP无法读取CSV文件中文字的解决方法
在win下可以轻松读取中文,但是放到linux的测试机器上,中文字就读取不出来。问题原因肯定和编码有关系: public function readCsv($file) { $row = 1; if (!is_file($file)) { return array(); } $handle = fopen($file,"r"); $arr = array原创 2012-09-07 10:01:18 · 2177 阅读 · 0 评论 -
PHP相关系列 - 绝招,php在zend编辑器下开发,代码提示
单个变量,如果是一个对象,要代码提示的话,需要加上注释:@var daoInitdaoInit是类的名称 /** * @var serviceInit */ protected $service;如果是函数,返回的是一个对象,要代码提示的话,主要加上注释:@return daoInitdaoInit是类的名称 /** * 分库初始化DB原创 2012-10-09 17:50:20 · 1221 阅读 · 1 评论 -
PHP相关系列 - PHP CLI
所有的PHP发行版,不论是编译自源代码的版本还是预创建的版本,都在默认情况下带有一个PHP可执行文件。这个可执行文件可以被用来运行命令行的PHP程序。 要在你的系统上找到这个可执行文件,就要遵照下面的步骤: 在Windows操作系统里,它被放在PHP主安装目录下,文件名是php.exe或者(在老版本的PHP里)是php-cli.exe。 在Linux操转载 2012-10-12 16:34:41 · 1083 阅读 · 0 评论 -
PHP相关系列 - PHP细节拾遗
isset函数,当变量不存在或者数组键值不存在的时候,isset值为false,其它为true<?php/* 测试 isset 函数 *///变量存在情况$val = 'test';echo (isset($val)) ? 'true' : 'false'; //trueecho '';//变量为空$val = '';echo (isset($val)) ? 'true' :原创 2012-07-26 12:58:05 · 1096 阅读 · 3 评论 -
PHP相关系列 - PHP异常详解
PHP的异常是什么?PHP 5 提供了一种新的面向对象的错误处理方法。异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 一般使用方法:<?phpfunction test() { throw new Exception("异常啦");}try { test();} catch (Exception $e) { ec原创 2012-07-24 14:27:18 · 1150 阅读 · 0 评论