- 浏览: 87245 次
最新评论
文章列表
宏CONTAINING_RECORD,可以直接根据结构体成员指针找到结构体指针。
我们看一下它的定义:
#define CONTAINING_RECORD(addr,type,field) ((type*)((unsigned char*)addr - (unsigned long)&((type*)0)->field))
// addr: 结构体中某个成员变量的地址
// type: 结构体的原型
// field: 结构体的某个成员(与前面相同)
为什么这样就能得到结构体指针?
这个得益于结构体在申请内存空间是一段连续的地址,我们可以通过其中某个成员变量的地 ...
- 2013-07-17 23:54
- 浏览 541
- 评论(0)
现在的网站表现力越来越丰富,页面加载的js和css自然也越来越多。当网站页面上的js和css太多,浏览器打开页面的速度就会很慢,明显降低了用户的体验。使用mod_concatx, 可以合并多个文件在一个http响应报文中,可以有效提高js/c ...
- 2013-07-17 22:43
- 浏览 203
- 评论(0)
利用函数指针,就可以实现函数注册和回调
#include <stdio.h>
int max(int x,int y){return (x>y? x:y);}
int min(int x,int y){return (x<y? x:y);}
int main()
{
int (*callback)(int, int);
int a=1, b=2, c;
callback = max; // 或者 callback = &max
c = (*callback)(a, b); // 或者 callback ...
- 2013-07-14 23:48
- 浏览 304
- 评论(0)
很久之前写了这个插件,基于jQuery实现的,主要用于IE下实现placeholder效果,可同时支持文本和密码输入框。
placeholder是HTML5新增的一个属性,当input设置了该属性后,该值的内容将作为灰色提示显示在文本框中,当文本框获得焦点时,提示文字消失。
下载地址:http://download.csdn.net/detail/cwqcwk1/5676563(含demo)
实现代码如下:
(function($) {
/**
* 没有开花的树
* http://blog.csdn.net/mycwq/
* 2012/11/28 15:12
...
- 2013-06-30 23:31
- 浏览 304
- 评论(0)
eAccelerator是一个开源PHP加速器,用于优化程序,编码器和动态内容缓存。它通过在编译状态下对PHP脚本进行缓存以提高他们的性能,所以那些系统开销在编译时几乎可以被消除。它还能够对脚本进行优化以便加速它们的执行速度。利用eAccelerator可以减少服务器的负载并提高PHP代码的执行效率。
一、前期准备
1、下载php原代码和二进制包
地址:http://windows.php.net/download/
2、下载eaccelerator(选择zip包)
地址:http://eaccelerator.net/
3、php配置文件config.w32.h
地址:htt ...
- 2013-06-30 18:13
- 浏览 233
- 评论(0)
svn(subversion)是一款的版本管理工具。目前,大多数开源软件都使用svn作为代码版本管理软件。svn除了能记住文件和目录的所有修改,还能将文件恢复到过去的某个版本,并且可以通过检查历史知道数据做了哪些修改。简直是一个“时间机器”。
安裝svn程序
安装svn
svn下载地址:http://subversion.apache.org/packages.html
本文举例svn安装目录为 C:\Program Files\Subversion
安装完成后,将 C:\Program Files\Subversion\bin 添加的系统环境变量path 中,可能系统会自动添加环境变量。
然 ...
- 2013-06-25 11:19
- 浏览 225
- 评论(0)
为了提供新鲜、别致的用户体验,很多网站都会使用 JavaScript 来改善设计、验证表单、检查浏览器,以及Ajax请求,cookie操作等等,实现无刷新动态效果 。但是,要将大量内容在浏览器呈现,如果处理不好,网站性能将会急剧下降。所以我们有必要了解下,如何提高JavaScript的执行效率。
JavaScript 函数
在JavaScript 中,函数在使用前会预编译。尽管有些时候下可以使用字符串代替函数,但是每次执行这段JavaScript 代码时都会重新解析,影响性能。
1、eval例子eval('output=(input * input)');
// 建议改成:
eval(ne ...
- 2013-06-21 12:32
- 浏览 230
- 评论(0)
继上篇《PHP网站被挂马防御战》
Php本身也有一些安全机制,如下:
1、禁用shell函数和com组件;(上篇已提到)
2、限制php作用域;(上篇已提到)
3、启动php安全模式;
4、其他安全设置;
5、降低php的系统权限;
一、php ...
- 2013-06-17 15:11
- 浏览 362
- 评论(0)
最近把几个PHP网站的程序备份到本地,准备与本地的发布版的svn做内容整合。发现有一些non-versioned的程序文件,仔细查看,是一些木马程序。
我在本地测试了这些木马程序,可以读取所有硬盘的文件,可以随意修改文件,下载任意硬盘位置的文件,上传文件到主机任意硬盘位置,可以说接近在主机上管理文件了,更糟糕的是还可以执行本地程序或命令,管理mysql等等
它怎么隐藏和伪装的?
它一般藏的目录很深,喜欢藏到图片目录下面。由两部分构成,一个zip压缩包和一个解压程序,木马程序放到zip压缩包中。
我是如何清理的?
1、将所有的程序备份一份,用于之后的挂马分析
2、对比本地svn很快定位 ...
- 2013-06-03 11:15
- 浏览 282
- 评论(0)