摘要: 众所周知,当php.ini里面的register_globals=on时,各种变量都被注入代码,例如来自 HTML 表单的请求变量。再加上 PHP 在使用变量之前是无需进行初始化的。那么就有可能导致不安全,假如有人恶意发出这么一个get请求"http://yourdomain/unsafe.php?GLOBALS=",那么就会清除$GLOBALS变量的值而导致不安全。所以我们可以这样子写[php]if ((isset($_REQUEST['GLOBALS']) OR isset($_FILES['GLOBALS'])) AND ini_get 阅读全文
posted @ 2012-02-17 15:01 沉默爆破手 阅读(2403) 评论(0) 推荐(0) 编辑
摘要: <?phpfunctiongenerate_random_string($min=5,$max=8){$validchars='0123456789abcdefghijklmnopqrstuvwxyz';//候选字符串$length=mt_rand($min,$max);//随机字符串长度$max_char=strlen($validchars)-1;$string='';for($i=0;$i<$length;$i++){$string.=$validchars[mt_rand(0,$max_char)]; // 将$validchars这个数组变 阅读全文
posted @ 2012-02-15 16:40 沉默爆破手 阅读(295) 评论(0) 推荐(0) 编辑
摘要: procs—— r:表示运行队列(就是说多少个进程真的分配到CPU),我测试的服务器目前CPU比较空闲,没什么程序在跑,当这个值超过了CPU数目,就会出现CPU瓶颈了。这个也和top的负载有关系,一般负载超过了3就比较高,超过了5就高,超过了10就不正常了,服务器的状态很危险。top的负载类似每秒的运行队列。如果运行队列过大,表示你的CPU很繁忙,一般会造成CPU使用率很高。 b:等待i/o的进程数;memory——swpd:目前使用的swap内存大小,单位K; free:空闲的内存大小; buff:作为缓冲区使用的内存大小; cache:cache直接用... 阅读全文
posted @ 2012-02-14 20:54 沉默爆破手 阅读(325) 评论(0) 推荐(0) 编辑
摘要: <?phpclass Person { //人的成员属性 var $name; //定义 人的名字 var $age; //定义 人的年龄 //人的成员 say() 方法 function say() { echo "我的名字叫:".$this->name."<br />"; echo "我的年龄是:".$this->age; }} //类定义结束//实例化一个对象$p1 = new Person();//给 $p1 对象属性赋值$p1->name = "张三"; $p1-> 阅读全文
posted @ 2012-02-14 09:32 沉默爆破手 阅读(164) 评论(0) 推荐(0) 编辑
摘要: <?phpfunction mycallbackfun(){ print ("hello form callback");}function myfun($callback) #这里是将$callback作为此函数的参数;{ $callback();}myfun("mycallbackfun"); #这时变量$callback=mycallbackfun来处理,此时上面$callback()就等于mycallbackfun()?> 阅读全文
posted @ 2012-02-13 23:03 沉默爆破手 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 零宽断言的意思是(匹配宽度为零,满足一定的条件/断言) 我也不知道这个词语是那个王八蛋发明的,简直是太拗口了。零宽断言用于查找在某些内容(但并不包括这些内容)之前或之后的东西,也就是说它们像\b,^,$那样用于指定一个位置,这个位置应该满足一定的条件(即断言),因此它们也被称为零宽断言。断言用来声明一个应该为真的事实。正则表达式中只有当断言为真时才会继续进行匹配。其中零宽断言又分四种先行断言 也叫零宽度正预测先行断言(?=表达式) 表示匹配表达式前面的位置例如 [a-z]*(?=ing) 可以匹配cooking singing 中的cook与sing注意:先行断言的执行步骤是这样的先从要匹配的 阅读全文
posted @ 2012-02-12 00:15 沉默爆破手 阅读(403) 评论(0) 推荐(0) 编辑
摘要: 分屏启动Vim使用大写的O参数来垂直分屏。vim -On file1 file2 ...使用小写的o参数来水平分屏。vim -on file1 file2 ...注释:n是数字,表示分成几个屏。关闭分屏关闭当前窗口。Ctrl+W c关闭当前窗口,如果只剩最后一个了,则退出Vim。Ctrl+W q分屏上下分割当前打开的文件。Ctrl+W s上下分割,并打开一个新的文件。:sp filename左右分割当前打开的文件。Ctrl+W v左右分割,并打开一个新的文件。:vsp filename移动光标Vi中的光标键是h, j, k, l,要在各个屏间切换,只需要先按一下Ctrl+W把光标移到右边的屏。 阅读全文
posted @ 2012-02-11 20:45 沉默爆破手 阅读(156) 评论(0) 推荐(0) 编辑
摘要: ken@ken-PC:~$ whoken tty7 2012-02-09 08:49 (:0)ken pts/0 2012-02-09 16:51 (:0.0)my (%ttys,$user,$tty,$data);for (`who`){ ($user,$tty,$data)= /(\S+)\s+(\S+)\s+(.*)/; $ttys{$user} .= "$tty at $data\n";} 阅读全文
posted @ 2012-02-09 17:08 沉默爆破手 阅读(320) 评论(0) 推荐(0) 编辑
摘要: use 5.010;$name ~~ /Fred/;%name ~~ /Fred/; 查找键值匹配%a ~~ ‘Fred’ 哈希中某一指定键$a{Fred}是否存在@nums ~~ $result; 查找数组匹配%a ~~ %b 哈希键是否一致%a ~~ @b 至少%a中的一个键在列表@b中@a ~~ @b 数组是否相同@a ~~ 123 至少有一个元素转化为数字后是123@a ~~ 'Fred' 至少有一个元素转化为字符串是 ‘Fred’$name ~~ undef 查看是否尚未定义$name ~~ /Fred/ 模式匹配123 ~~ '123.0' 看大小是 阅读全文
posted @ 2012-02-09 15:49 沉默爆破手 阅读(245) 评论(0) 推荐(0) 编辑
摘要: my @numbers;push @numbers, split while <>; #将文件读入,使用split分割元素(split默认使用空白字符分割)后加入数组for (sort {$a<=>$b} @numbers){ #遍历数组中的元素,排序后输出($a和$b是默认的包全局变量) printf "%20g\n",$_;} 阅读全文
posted @ 2012-02-09 13:04 沉默爆破手 阅读(92) 评论(0) 推荐(0) 编辑