Apache mod_headers模块实现文件缓存

2013年5月10日 没有评论

遇到有的主机商不支持mod_expires模块,那就就试试mod_headers模块吧。

# 开启Apache headers模块
sudo a2enmod headers
# 关闭Apache headers模块
sudo a2dismod headers

编辑Web目录的.htaccess文件

 
    # htm,html,txt类型的文件缓存一个小时
 
        header set Cache-Control "max-age=3600"
 
    # css,js,swf类型的文件缓存一个月
 
        he[......]<p class="read-more"><a href="https://www.fengdingbo.com/apache-mod_headers-cache.html">Read more</a></p>
分类: WebServer 标签: ,

Linux Shell脚本实现动态修改密码

2013年5月9日 没有评论

密码规则
固定字符串 + 年月日(转成键盘数字对应的符号) + 固定字符串

#!/bin/bash
#===================================`
# 动态修改密码                        #
# author :Qiufeng[......]<p class="read-more"><a href="https://www.fengdingbo.com/shell-update-passwd.html">Read more</a></p>
分类: Linux 标签: ,

Apache mod_expires模块实现文件缓存

2013年5月6日 没有评论

mod_expires 模块的主要作用是自动生成页面头部信息中的 Expires 标签和 Cache-Control 标签,从而降低客户端的访问频率和次数,达到减少不必要流量和增加访问速度的目的。

# 开启Apache expires模块
sudo a2enmod expires
# 关闭[......]<p class="read-more"><a href="https://www.fengdingbo.com/apache-mod_expires-cache.html">Read more</a></p>

mod_expires 是 apache 众多模块中配置比较简单的一个,它一共只有三条指令:
ExpiresActive 指令:打开或关闭产生”Expires:”和”Cache-Control:”头的功能。
E[……]

Read more

分类: WebServer 标签: ,

WebQQ hash加密算法PHP版

2013年4月27日 4 条评论

由于最近QQ垃圾信息群发严重,官方选择将WebQQ部分功能实现细节方面做了点手脚。其中获取好友的POST值多了一个hash参数。
这个hash是在js里加密完成的。
以下是js源码

 
function getHash(b, i) {
    for (var a = i + "pass[......]<p class="read-more"><a href="https://www.fengdingbo.com/webqq-robot-hash.html">Read more</a></p>

转成PHP版本处理,源码如下

[......]<p class="read-more"><a href="https://www.fengdingbo.com/webqq-robot-hash.html">Read more</a></p>
分类: JavaScript, PHP 标签: ,

基于WebQQ3.0协议写一个QQ机器人

2013年4月21日 12 条评论

一个偶然的机会,在某群看到一个类似QQ机器人的玩意在骚动,问那哥们回答说是JAVA写的,原来QQ还能这样玩儿。于是乎,我也就开始骚动了。Let’s go

1.WEBQQ3.0登陆协议

进入WEBQQ, http://web.qq.com/
通过工具分析,可以知道,用户在输入密码之前(也就是输入帐号后),会首先GET一个请求过去
https://ssl.ptlogin2.qq.com/check?uin=58237991&appid=1003903&r=0.5534069868735969

我们只详细分析下这一个请求,看看,这个请求到底携带了什么样的数据

这个GET请求返回p[……]

Read more

分类: PHP 标签: , ,

PHP检查模块是否存在以及显示版本相关信息

2013年4月19日 没有评论

如果你需要检查给定的PHP模块/扩展是否存在,下面一行代码就能派上用场,不需要使用phpinfo()。
检查现有的模块:

$ php -m | grep xdebug | wc -l
1

检查不存在的模块:

$ php -m | grep mongo | wc -l
0

如果你需要一些更详细的信息(如版本号)有关现有模块可以使用php – ri ,将获得所需的信息

$ php --ri json
json
json support => enabled
json version => 1.2.1

[……]

Read more

分类: PHP 标签: ,

PHP获取函数的所在模块

2013年4月18日 没有评论

查看PHP函数的源代码时非常有用

#!/usr/bin/php[......]<p class="read-more"><a href="https://www.fengdingbo.com/php-get-function-module.html">Read more</a></p>
分类: PHP 标签: ,

PHP pcntl_fork 多进程下载网页图片

2013年4月17日 没有评论

pcntl_fork — 在当前进程当前位置产生分支(子进程)。译注:fork是创建了一个子进程,父进程和子进程都从fork的位置开始向下继续执行,不同的是父进程执行过程中,得到的fork返回值为子进程号,而子进程得到的是0。

#!/usr/bin/php[......]<p class="read-more"><a href="https://www.fengdingbo.com/php-fork-download-webpage-image.html">Read more</a></p>
分类: PHP 标签: , ,

JavaScript操作JSON总结

2013年4月5日 没有评论

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
本文主要对JavaScript中的JSON操作做下总结。
在JSON中,有两种结构:对象和数组。
1.一个对象以”{“(左大括号)开始,”}”(右大括号)结束。每个”名称”后跟一个”:”(冒号):”‘名称/值'”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。[……]

Read more

分类: JavaScript 标签: ,

shell脚本实现ssh自动登陆

2013年4月2日 没有评论

必要软件包:expect
ssh连接远程主机时候会询问密码,跟su、sudo命令的默认行为一样,是不从stdin读入数据的,传说是为安全考虑,但是有时候在脚本当中确实需要无人守值的登陆。
搜索一下不难找到类似的例子,使用expect来完成密码应答:

#!/bin/bash
auto_lo[......]<p class="read-more"><a href="https://www.fengdingbo.com/shell-auto-login-ssh.html">Read more</a></p>
分类: Linux 标签: ,