<?php
$cachetime = (60*60*24*30);
header('Cache-Control: public, max-age='.$cachetime);
header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT' );
header('Expires: '.gmdate('D, d M Y H:i:s', time() + $cachetime). ' GMT');
?>
添加缓存HEAD
发布时间:July 7, 2014 // 分类:PHP // No Comments
OpenVZ VPS添加HE IPV6 Tunnel
发布时间:July 3, 2014 // 分类:网络工具 // No Comments
VPS需开启TUN/TAP:
wget http://tb-tun.googlecode.com/files/tb-tun_r18.tar.gz
tar xvf tb-tun_r18.tar.gz
yum install gcc
tar xvf tb-tun_r18.tar.gz
gcc tb_userspace.c -l pthread -o tb_userspace
mv tb_userspace /usr/bin/
setsid tb_userspace he-ipv6 <server-ip> <local-ip> sit > /dev/null
ip link set he-ipv6 up
ip addr add 2001:470::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
添加多个IP:
for ip in {1..100}; do ip addr add 2001:470:1f07:26a::$ip/64 dev he-ipv6; done
添加随机IP:
#!/bin/sh
MAXCOUNT=100
count=0
network_v6=2001:470:1f07:26a
rnd_ipv6_block () {
#HEX="tr -dc "[:xdigit:]" < /dev/urandom | head -c 16 | sed 's/..../:&/g'"
HEX="openssl rand -hex 8 | sed 's/..../:&/g'"
ipv6=$network_v6$(eval $HEX);
}
echo "$MAXCOUNT 个IPv6:"
echo "-----------------"
while [ $count -lt $MAXCOUNT ]
do
count=`expr $count + 1`
rnd_ipv6_block
echo $ipv6
ip addr add $ipv6/64 dev he-ipv6
done
PHP生成随机IPV6:
<?php
$prefix = '2001:470:1f07:26a';
$str = substr(md5(rand()), 16);
$addr = $prefix . ':' . implode(':', str_split($str, 4));
echo $addr;
域名自身NS记录的问题
发布时间:July 3, 2014 // 分类:DNS // No Comments
这个问题纠结了很久,子域名下ns为添加子域名授权dns服务器,以为域名本身@的ns记录是ns再授权,使用过程中并非如此,在其它www.snooda.com/read/278看到一段描述,暂且转过来。
很多顶级域的dns都会有@域的ns记录指向自己,之前理解有误,其实这些ns记录是对二级域生效的。这样设置是表示二级域和顶级域由相同的ns服务器负责解析。即使不设置这个记录,顶级域dns服务器也是可以解析子域的,但顶级域的ns记录缓存时间是不可控的(设置时没有ttl),有可能很快过期,这样的话解析二级域时就需要多次去com域dns上查询,而有了ns记录,可以自己控制ttl,在ttl没有过期的时间内,查询时可以直接命中ns记录去查询二级域,有效提高速度。
理论上顶级域dns只负责解析顶级域自身的a、mx、cname、ns记录等,其他二级域记录需要顶级域的ns记录指定的dns来解析,而一般大家使用dns托管的话,二级域名和顶级域往往是一起管理的,所以ns是指向自身的。
PHP检查域名年龄及Whois脚本
发布时间:July 1, 2014 // 分类:PHP // No Comments
<?php
class DomainAge{
private $WHOIS_SERVERS=array(
"com" => array("whois.verisign-grs.com","/Creation Date:(.*)/"),
"net" => array("whois.verisign-grs.com","/Creation Date:(.*)/"),
"org" => array("whois.pir.org","/Created On:(.*)/"),
"info" => array("whois.afilias.info","/Created On:(.*)/"),
"biz" => array("whois.neulevel.biz","/Domain Registration Date:(.*)/"),
"us" => array("whois.nic.us","/Domain Registration Date:(.*)/"),
"uk" => array("whois.nic.uk","/Registered on:(.*)/"),
"ca" => array("whois.cira.ca","/Creation date:(.*)/"),
"tel" => array("whois.nic.tel","/Domain Registration Date:(.*)/"),
"ie" => array("whois.iedr.ie","/registration:(.*)/"),
"it" => array("whois.nic.it","/Created:(.*)/"),
"cc" => array("whois.nic.cc","/Creation Date:(.*)/"),
"ws" => array("whois.nic.ws","/Domain Created:(.*)/"),
"sc" => array("whois2.afilias-grs.net","/Created On:(.*)/"),
"mobi" => array("whois.dotmobiregistry.net","/Created On:(.*)/"),
"pro" => array("whois.registrypro.pro","/Created On:(.*)/"),
"edu" => array("whois.educause.net","/Domain record activated:(.*)/"),
"tv" => array("whois.nic.tv","/Creation Date:(.*)/"),
"travel" => array("whois.nic.travel","/Domain Registration Date:(.*)/"),
"in" => array("whois.inregistry.net","/Created On:(.*)/"),
"me" => array("whois.nic.me","/Domain Create Date:(.*)/"),
"cn" => array("whois.cnnic.cn","/Registration Date:(.*)/"),
"asia" => array("whois.nic.asia","/Domain Create Date:(.*)/"),
"ro" => array("whois.rotld.ro","/Registered On:(.*)/"),
"aero" => array("whois.aero","/Created On:(.*)/"),
"nu" => array("whois.nic.nu","/created:(.*)/")
);
public function age($domain)
{
$domain = trim($domain); //remove space from start and end of domain
if(substr(strtolower($domain), 0, 7) == "http://") $domain = substr($domain, 7); // remove http:// if included
if(substr(strtolower($domain), 0, 4) == "www.") $domain = substr($domain, 4);//remove www from domain
if(preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i",$domain))
{
$domain_parts = explode(".", $domain);
//取后缀
$tld = strtolower(array_pop($domain_parts));
if(!$server=$this->WHOIS_SERVERS[$tld][0]) {
return false;
}
$res=$this->queryWhois($server,$domain);
if(preg_match($this->WHOIS_SERVERS[$tld][1],$res,$match))
{
date_default_timezone_set('UTC');
$time = time() - strtotime($match[1]);
$years = floor($time / 31556926);
$days = floor(($time % 31556926) / 86400);
if($years == "1") {$y= "1 year";}
else {$y = $years . " years";}
if($days == "1") {$d = "1 day";}
else {$d = $days . " days";}
return "$y, $d";
}
else
return false;
}
else
return false;
}
private function queryWhois($server,$domain)
{
$fp = @fsockopen($server, 43, $errno, $errstr, 20) or die("Socket Error " . $errno . " - " . $errstr);
if($server=="whois.verisign-grs.com")
$domain="=".$domain;
//echo $domain;
fputs($fp, $domain . "\r\n");
$out = "";
while(!feof($fp)){
$out .= fgets($fp);
}
fclose($fp);
//echo $out;
return $out;
}
}
$w=new DomainAge();
$age = $w->age("baidu.com");
echo $age."\n";
?>
Alexa's top 1 million sites list
发布时间:July 1, 2014 // 分类: // No Comments
分类
- Apache (13)
- Nginx (45)
- PHP (86)
- IIS (8)
- Mail (17)
- DNS (16)
- Cacti (14)
- Squid (5)
- Nagios (4)
- Puppet (7)
- CentOS (13)
- Iptables (23)
- RADIUS (3)
- OpenWrt (41)
- DD-WRT (1)
- VMware (9)
- 网站程序 (2)
- 备份存储 (11)
- 常用软件 (20)
- 日记分析 (10)
- Linux基础 (18)
- 欧诺代理 (0)
- Linux服务 (18)
- 系统监控 (4)
- 流量监控 (7)
- 虚拟化 (28)
- 伪静态 (2)
- LVM (3)
- Shell (18)
- 高可用 (2)
- 数据库 (16)
- FreeBSD (3)
- 网络安全 (25)
- Windows (35)
- 网络工具 (22)
- 控制面板 (3)
- 系统调优 (10)
- Cisco (3)
- VPN (6)
- ROS (20)
- Vim (14)
- KMS (4)
- PXE (2)
- Mac (1)
- Git (1)
- PE (1)
- LNS (2)
- Xshell (7)
- Firefox (13)
- Cygwin (4)
- OpenSSL (9)
- Sandboxie (3)
- StrokesPlus (1)
- AutoHotKey (4)
- Total Commander (3)
- WordPress (3)
- iMacros (6)
- Typecho (2)
- Ollydbg (1)
- Photoshop (1)
- 正则 (3)
- Debian (3)
- Python (8)
- NoSQL (6)
- 消息队列 (4)
- JS (7)
- Tmux (3)
- GO (7)
- HHVM (2)
- 算法 (1)
- Docker (2)
- PT (15)
- N1 (16)
- K2P (6)
- LUKS (4)
最新文章
- TEWA-1100G光猫使用
- 烽火光猫HG5382A3使用
- 记联通更换移动XG-040G-MD光猫
- smokeping slave同步错误illegal attempt to update using time解决
- 使用valgrind定位解决smartdns内存泄露
- 此内容被密码保护
- debian12下initramfs-tools配置ip子网掩码255.255.255.255/32失败解决
- iPhone查看屏幕供应商
- 光猫拨号ImmortalWrt/OpenWRT路由获取ipv6遇到的问题
- php-fpm错误error_log日志配置
最近回复
- opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
- liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
- 海运: 不好意思,没有。
- zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
- 海运: 恩山有很多。
- swsend: 大佬可以分享一下固件吗,谢谢。
- Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
- 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
- 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
- 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档
- March 2025
- February 2025
- August 2024
- May 2024
- February 2024
- January 2024
- December 2023
- November 2023
- October 2023
- September 2023
- August 2023
- May 2023
- April 2023
- February 2023
- January 2023
- December 2022
- September 2022
- July 2022
- April 2022
- March 2022
- February 2022
- January 2022
- December 2021
- November 2021
- April 2021
- March 2021
- February 2021
- January 2021
- December 2020
- November 2020
- October 2020
- September 2020
- July 2020
- May 2020
- April 2020
- March 2020
- February 2020
- January 2020
- December 2019
- November 2019
- July 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- July 2018
- June 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- October 2017
- September 2017
- August 2017
- July 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- July 2016
- June 2016
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- August 2013
- July 2013
- June 2013
- May 2013
- April 2013
- March 2013
- February 2013
- January 2013
- December 2012
- November 2012
- October 2012
- September 2012
- August 2012
- July 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- October 2011
- September 2011
- August 2011
- July 2011