遇到有的主机商不支持mod_expires模块,那就就试试mod_headers模块吧。
# 开启Apache headers模块
sudo a2enmod headers
# 关闭Apache headers模块
sudo a2dismod 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> |
# 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>
密码规则
固定字符串 + 年月日(转成键盘数字对应的符号) + 固定字符串
#!/bin/bash
#===================================`
# 动态修改密码 #
# author :Qiufeng[......]<p class="read-more"><a href="https://www.fengdingbo.com/shell-update-passwd.html">Read more</a></p> |
#!/bin/bash
#===================================`
# 动态修改密码 #
# author :Qiufeng[......]<p class="read-more"><a href="https://www.fengdingbo.com/shell-update-passwd.html">Read more</a></p>
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> |
# 开启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
由于最近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> |
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> |
[......]<p class="read-more"><a href="https://www.fengdingbo.com/webqq-robot-hash.html">Read more</a></p>
一个偶然的机会,在某群看到一个类似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模块/扩展是否存在,下面一行代码就能派上用场,不需要使用phpinfo()。
检查现有的模块:
$ php -m | grep xdebug | wc -l
1 |
$ php -m | grep xdebug | wc -l
1
检查不存在的模块:
$ php -m | grep mongo | wc -l
0 |
$ php -m | grep mongo | wc -l
0
如果你需要一些更详细的信息(如版本号)有关现有模块可以使用php – ri ,将获得所需的信息
$ php --ri json
json
json support => enabled
json version => 1.2.1 |
$ php --ri json
json
json support => enabled
json version => 1.2.1
[……]
Read more
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> |
#!/usr/bin/php[......]<p class="read-more"><a href="https://www.fengdingbo.com/php-fork-download-webpage-image.html">Read more</a></p>
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。同时,JSON是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON数据不须要任何特殊的 API 或工具包。
本文主要对JavaScript中的JSON操作做下总结。
在JSON中,有两种结构:对象和数组。
1.一个对象以”{“(左大括号)开始,”}”(右大括号)结束。每个”名称”后跟一个”:”(冒号):”‘名称/值'”之间运用 “,”(逗号)分隔。 名称用引号括起来;值如果是字符串则必须用括号,数值型则不须要。[……]
Read more
必要软件包: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> |
#!/bin/bash
auto_lo[......]<p class="read-more"><a href="https://www.fengdingbo.com/shell-auto-login-ssh.html">Read more</a></p>