- 博客(135)
- 资源 (6)
- 收藏
- 关注

原创 从源码分析PHP的SESSION实现机制
从源码分析PHP的SESSION实现,深入理解PHP的session机制。Session是以扩展的形式嵌入到PHP内核的,所以我们可以把Session当成扩展来看待。从整个PHP的生命周期来了解php的SESSION机制
2015-03-23 21:15:58
4904
1
原创 MySQL损坏表修复(附录自动处理脚本)
Mysql 数据库 相信很多地方 都在用,在用的时候避免不了出现表的损坏,损坏之后我们就要修复。如果是单张表,我们使用命令轻易的修复。如果是其中 的一部分表那?最重要的是还不知道具体的那些表。如果 全库修复那花费很长很长的时间。下面就是我写的一个自动化修复脚本。
2016-02-25 15:41:38
4767
原创 Redis 未授权访问配合 SSH key 文件利用分析
今天在群里看到有人提到Redis 在用root启动的漏洞,惊醒之,还好服务器设置的时候处于考虑做了相关操作,并不会影响现在的服务,下面是相关漏洞资料。相关资料来源互联网:http://blog.knownsec.com/2015/11/analysis-of-redis-unauthorized-of-expolit/Redis 未授权访问配合 SSH
2016-02-24 11:28:23
1152
原创 理解PHP及Zend Engine的线程安全模型(ZTS)
在阅读PHP源码和学习PHP扩展开发的过程中,我接触到大量含有“TSRM”字眼的宏。在查找资料过程中发现有2篇文章写的不错,整理如下:深入研究PHP及Zend Engine的线程安全模型:http://blog.codinglabs.org/articles/zend-thread-safety.htmlPHP源码分析之线程安全模型:http://blog.youkuaiyun.com/h
2016-01-11 16:33:19
3496
原创 linux下C的GBD调试学习笔记
1. 单步执行和跟踪函数调用看下面的程序:例 10.1. 函数调试实例#include int add_range(int low, int high){ int i, sum; for (i = low; i <= high; i++) sum = sum + i; return sum;}int main(void){ int result
2016-01-06 11:41:06
4272
原创 vim重复操作的宏录制
今天在对ServiceLocator修改注释的时候,VIM宏很大程度上方便了操作。学习笔记如下:资料来源网上:在编辑某个文件的时候,可能会出现需要对某种特定的操作进行许多次的情况,以编辑下面的文件为例:;=====================================================================================;Thi
2015-11-26 16:05:01
891
原创 PHP autoload机制详解
转自互联网:(1) autoload机制概述 在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利。这也是OO设计的基本思想之一。在PHP5之前,如果需要使用一个类,只需要直接使用include/require将其包含进来即可。下面是一个实际的例子:/* Person.cl
2015-11-26 11:25:20
652
原创 linux下使用daemontools的supervise让不稳定程序死掉自动马上重启
前言:supervise是daemontools的一个工具,可以用来监控linux下程序的进程状态,当程序有一些问题(例如死掉)会根据设置 自动重启。我有一个socket服务器端需要一直监听数据,但是为了保证它不会莫名其妙的死掉而不可知,但是使用ICE(全称Internet Communications Engine)有点大材小用,所以使用了这个supervise自动重启死掉的程序并记录日志
2015-11-06 12:44:57
5616
原创 bash: /usr/bin/php^M: bad interpreter: No such file or directory
php脚本在linux执行报错bash: /usr/bin/php^M: bad interpreter: No such file or directory,解决方法
2015-10-23 15:38:52
2827
原创 分布式与集群的区别
注:本文为博主自己在网上搜集到的资料的摘抄,记录方便理解简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。再简单点说,分布式:一个业务分拆多个子业务,部署在不同的服务器上集群:同一个业务,部署在多个服务器上再简单的形容一下,就是 “分头做事”与“一堆人”的区别例如:
2015-10-14 09:50:55
1053
原创 LINUX常用的日志分析命令
对于已经在线的系统来说,常常会遇到各种恶意攻击行为,其中比较常见的便是HTTP flood,也称之为CC攻击。如何快速的定位到攻击,并迅速响应,便成为开发运维人员必备的技能。定位问题最快的方法就是登陆到相应的应用,查看相应的攻击来源,及时进行处理。有时候一些简单的linux命令就可以帮助我们快速分析日志,及时响应
2015-10-12 17:36:38
11151
1
原创 用cronolog分割Nginx日志
方法一(来源网络):1,安装cronologwget http://cronolog.org/download/cronolog-1.6.2.tar.gztar zxvf cronolog-1.6.2.tar.gzcd cronolog-1.6.2mkdir -p /usr/local/cronolog./configure --prefix=/us
2015-10-08 10:23:28
3411
原创 RHEL/CentOS 6.x安装EPEL6与remi的yum源
PS:如果既想获得 RHEL 的高质量、高性能、高可靠性,又需要方便易用(关键是免费)的软件包更新功能,那么 Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux)正好适合你。EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、S
2015-08-19 15:43:49
1252
转载 TCP连接建立过程中为什么需要“三次握手”
传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的运输层(Transport layer)通信协议。是专门为了在不可靠的互联网络上提供一个可靠的端到端字节流而设计的。互联网络与单个网络不同,因为互联网络的不同部分可能有着截然不同的拓扑、带宽、延迟、分组大小和其他参数。TCP的设计目标是能够动态的适应互联网络的这些特性,而且当
2015-07-01 14:47:12
951
原创 吞吐量(Throughput)、QPS、并发数、响应时间(RT)对系统性能的影响
首先对吞吐量(Throughput)、QPS、并发数、响应时间(RT)几个概念一直比较模糊,也不知道哪些指标可以较好的衡量系统的性能。今天特意查了些资料做一些记录:首先看一些概念(来自百度百科) 1. 响应时间(RT) 响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功
2015-07-01 11:13:08
1270
原创 Advanced Rest Client 模拟用户请求工具
有时候我们需要模拟get post的工具,推荐使用chrome插件Advanced Rest Client 直接在chrome里面搜就好了 下面的视频有详细介绍 https://www.youtube.com/watch?v=NHL_eUAHHLI
2015-06-29 14:48:37
1772
原创 PHP高效率写法
1.尽量静态化:如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法在程序运行中生成内存,所以静态方法可以直接调用,实例方法要先成生实例,通过实例调用方法,静态速度很快,但是多了会占内存。任何语言
2015-06-17 14:19:15
574
原创 Mac 配置自己的CTAGS
今天在用mac 的ctags的时候,发现输入ctags -R 命令后,出现下面的提示:/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ctags: illegal option -- Rusage: ctags [-BFadtuwvx] [-f t
2015-05-30 18:21:58
8859
原创 VIM常用命令学习
今天花了一个小时学了一下VIM的基本操作命令,这里给大家分享一个通过VIMTUTOR来学习常用命令的方法。在终端下,直接输入vimtutor就可以进入界面,然后剩下的就是跟着做了,在实际中的应用能让你更快的入门vim常用命令。下面是在网上找到的中英文对照版。=====================================================
2015-05-25 16:30:00
5360
原创 PHP 远程 DoS 漏洞(PHP Multipart/form-data remote dos Vulnerability)
4 月 3 日,有人在 PHP 官网提交 PHP 远程 DoS 漏洞(PHP Multipart/form-data remote dos Vulnerability),代号 69364①。由于该漏洞涉及 PHP 的所有版本,故其影响面较大,一经发布迅速引发多方面关注。14 日,各种 PoC 已经在网络上流传。
2015-05-20 11:45:43
2229
原创 PHP错误处理函数
错误处理 函数debug_backtrace — 产生一条回溯跟踪(backtrace)debug_print_backtrace — 打印一条回溯。error_get_last — 获取最后发生的错误error_log — 发送错误信息到某个地方error_reporting — 设置应该报告何种 PHP 错误restore_error_handler — 还原之前的错误处理函数rest
2015-05-18 18:01:38
727
原创 PHP简单防注入
index.php 加上以下内容,免注入。foreach (array("'", '%27', '"', '%22', '(', '%28', '*', '%2A', '.php', '.js', '.css', '.png', '.jpg', '.gif', '.txt', '.ico', '.ini', '.ssh', '.svn', '.log') as $k1 => $v1)if(fa
2015-05-18 16:27:59
584
转载 使用 PHP 直接在共享内存中存储数据集
在 PHP 中使用共享内存作为存储选项的分步指南了解共享内存,学习如何在 Web 应用程序中将共享内存用作一种数据存储选项,并享受它的高速、可靠性和与其他应用程序交换数据的优势。提供的示例展示了它如何帮助解决 Web 应用程序开发中的常见问题。概述共享内存是一种在相同机器中的应用程序之间交换数据的有效方式。一个进程可创建一个可供其他进程访问的内存
2015-05-08 17:20:51
1363
原创 AWK 简明教程
本文转自:http://coolshell.cn/articles/9070.html有一些网友看了前两天的《Linux下应该知道的技巧》希望我能教教他们用awk和sed,所以,出现了这篇文章。我估计这些80后的年轻朋友可能对awk/sed这类上古神器有点陌生了,所以需要我这个老家伙来炒炒冷饭。况且,AWK是贝尔实验室1977年搞出来的文本出现神器,今年是蛇年,是AWK的本命年,而且年纪和
2015-04-22 17:40:06
637
原创 你可能不知道的Shell
转自:http://coolshell.cn/articles/8619.htmlShell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面。Shell这个词是指操作系统中提供访问内核服务的程序。这篇文章向大家介绍Shell一些非广为人知、但却实用有趣的知识,权当品尝shell主食后的甜点吧。科普先科普几个你可能不知道的事实:She
2015-04-22 16:12:52
522
转载 linux之cut用法
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。(1)其语法格式为:cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]使用说明cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。如果不指定 Fi
2015-04-21 15:41:19
508
原创 nginx + php + https 配置用例
# 启动服务的用户和组user lighttpd lighttpd;# 开多少进程worker_processes 2;# 错误日志error_log /data/log/nginx/nginx_error/nginx_error.log crit;# pidpid /var/run/nginx.pid;#Specifies the value for max
2015-04-09 14:36:00
1766
原创 PHP源码分析-PHP的生命周期
之前看到的资料记录一下:http://www.walu.cc/phpbook/1.3.mdhttp://www.php-internals.com/book/?p=chapt02/02-01-php-life-cycle-and-zend-engine一个PHP实例,无论是从init脚本中调用的,还是从命令行启动的,都会向我们上一节说的那样, 依次进行Module init
2015-03-23 19:46:45
853
转载 Vector Clock算法的理解
因为会话在session_start之后,将会话数据就会读取到$_SESSION(在扩展内部全局变量PS(http_session_vars))中,在PHP_RSHUTDOWN_FUNCTION(session)(请求释放)时,通过php_session_flush(TSRMLS_C)将会话数据写入储存介质,也Vector Clock是Amazon’s Dynamo用来捕捉同一不同版本
2015-03-23 14:58:10
2106
转载 linux下生成core dump文件方法及设置
ore dump的概念:A core dump is the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed). In practice, other key
2015-03-19 11:24:17
834
转载 wireshark抓包图解 TCP三次握手/四次挥手详解
一. TCP/IP协议族 TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能。包含以下四个层次:1. 链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2. 网络层,也称作互联网层,处理分组在网络中的活动,例如分组
2015-03-19 10:21:00
3330
原创 MySQL 索引原理概述及慢查询优化实战
MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问
2015-03-18 11:30:17
3305
1
转载 Linux strace命令
简介strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间。输出参数含义root@ubuntu:/usr# strac
2015-03-10 17:21:06
480
原创 一致性哈希算法(consistent hashing)
consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在cache 系统中应用越来越广泛;一、基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N 个 cache 上呢,你很可能会采用类似下面的通用方法计算 objec
2015-03-09 18:54:52
719
转载 PHP与Memcached服务器交互的分布式实现源码分析
前段时间,因为一个项目的关系,研究了php通过调用memcache和memcached PECL扩展库的接口存储到分布式缓存服务器的机制,在此做我根据他们各自的源码进行分析,希望能对这方面感兴趣的人有些帮助。本篇文章我会针对php和memcache扩展库的交互根据源码展开分析。PHP调用memcache的接口通常会是如下过程:$mmc = new Memcache();
2015-03-09 16:09:01
1248
原创 深入理解PHP的Session机制
今天在看鸟哥的 如何设置一个严格30分钟过期的Session 这篇文章的时候 对php的session机制产生了兴趣,在网上找了点资料来研究了下php会话管理系统支持许多配置选项,可以在自己的 php.ini 文件中设定 在php.ini对于session的配置中,session.save_handler 定义了来存储和获取与会话关联的数据的处理器的名字,默认为 files,需要注意的是个别的
2015-03-04 17:53:46
1891
转载 MySQL数据库备份命令
备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword databasename > backupfile.sql 备份MySQL数据库为带删除表的格式 备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。mysqldump -–add-drop-table -uusername -ppassword
2015-03-04 14:55:11
507
转载 关于一笔试题(Iterator模式)
作者: Laruence( )本文地址: http://www.laruence.com/2008/10/31/574.html转载请注明出处中午的时候,收到一封求教信,是关于这样的一道面试题:使对象可以像数组一样进行foreach循环,要求属性必须是私有。刚接触到题的时候,我也没有考虑到Iterator模式,试了几个一般想法,失败以后。。。。就直接
2015-03-03 16:32:53
582
转载 PHP为什么会被认为是草根语言?
以下文字并没有非常多的技术词汇,所以只要对PHP感兴趣的人都可以看看。PHPer是草根吗?从PHP诞生之日起,PHP就开始在Web应用方面为广大的程序员服务。同时,作为针对Web开发量身定制的脚本语言,PHP一直秉承简单、开源的思想,这也使得PHP得以快速的发展,并且大力地推动Web2.0的出现与发展。但是,长期以来,PHPer(PHP Programmers)被认为是处于草根阶层的程序员,被认为是
2015-03-02 10:15:58
606
ASP.NET上传图片并截图
2013-06-14
ASP,NET C# MySql 操作类
2013-06-04
InfoZip压缩解压zip文件源码
2012-04-25
漂亮的jquery验证
2012-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人