常用html、demo代码
发布时间:2015-10-15, 14:45:06 分类:HTML | 编辑 off 网址 | 辅助
图集1/30
正文 9756字数 27,218,966阅读
暗网网址导航hidden wiki
http://zqktlwi4fecvo6ri.onion
Run code
Cut to clipboard
HTML特殊字符编码对照表
console.log(allnum);
javascript:;
vertical-align:middle;
strconv=yes+js
echo str_ireplace("WORLD","Shanghai","Hello world!");//不区分大小写
<a href="javascript:scroll(0,0)">返回顶部</a>
jquery多个节点绑定同一个事件
$('#begin,#end') 用逗号隔开
target="_blank"
index.php?g=Admin&m=Login
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
location.href = url;
autocomplete="off"
<form name="input" action="html_form_action.asp" method="get">
Username:
<input type="text" name="user" />
<input type="submit" value="提交" />
<input type="button" value="提交">
</form>
$.ajax({
type: "POST",
url:'/index.php?g=User&m=Post&a=Message&ajax=ajax',
data:$('#myform').serialize(),
error: function(request) {
alert("提交失败");
},
success: function(data) {
if(data>0){
alert('留言提交成功!');
location.reload();
}else alert("提交失败");
}
});
function ajaxpost(tel,pass){
$.ajax( {
url:"/index.php/Home/Register/is_login.html",
type: "post",
data:"tel="+tel+"&pass="+pass,
//dataType: "json",
//cache: false,
//async: false,
beforeSend: function(){
// Handle the beforeSend event
},
success: function(data){
}
});
}
<a href="javascript:scroll(0,0)">顶部</a> <a href="#copy">底部</a>
<meta charset="UTF-8" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
Run code
Cut to clipboard
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<link rel="icon" href="/favicon.ico">
<meta name="keywords" content="常用代码">
<meta name="description" content="isWTF's blog!!">
</head>
<body>
</body>
</html>
Run code
Cut to clipboard
$.ajax( {
url: '/index.php?s=/addon/WeiSite/WeiSite/ForgetPassword/tel/'+shoujihao+'/codeddd/'+codeddd+'.html', //这里是静态页的地址
type: "GET", //静态页用get方法,否则服务器会抛出405错误
//dataType: "json",
//cache: false,
//async: false,
beforeSend: function(){
// Handle the beforeSend event
},
success: function(data){
//var result = $(data).find("另一个html页面的指定的一部分").html();
}
});
Run code
Cut to clipboard
<link rel="apple-touch-icon" size="72x72" href="/icon-ipad.png" />
<link rel="apple-touch-icon" size="114x114" href="/icon-iphone4.png" />
<link rel="icon" href="/favicon.ico">
<link rel="icon" href="/favicon.ico" type="image/x-icon" />
<meta name="keywords" content="常用代码">
<meta name="description" content="isWTF's blog!!">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no" />
Run code
Cut to clipboard
I('post.id',0,'intval'); // 用intval过滤$_POST['id']
I('get.title','','strip_tags'); // 用strip_tags过滤$_GET['title']
Run code
Cut to clipboard
<meta name="title" content="标题">
<meta name="author" content="作者">
<meta name="description" content="描述">
<meta name="keywords" content="关键字">
<meta name="copyright" content="lizhenqiu.com">
移动端UC /QQ 浏览器的部分私有Meta 属性
下面就说下移动端UC /QQ 浏览器的部分私有Meta 属性,都来自其开发者文档(UC开发者中心,左下一doc文档,QQ浏览器)。
UC 浏览器的部分私有Meta 属性
设置屏幕方向为横屏还是竖屏
<meta name="screen-orientation" content="portrait|landscape">
设置是否全屏,yes表示强制浏览器全屏
<meta name="full-screen" content="yes">
缩放不出滚动条
<meta name="viewport" content="uc-fitscreen=no|yes"/>
设置no后用户缩放与标准浏览器缩放一直,设置为yes后,用户缩放金放到图片和文字,不出现横向滚动条。
排版
<meta name="layoutmode" content="fitscreen|standard" />
fitscreen模式简化页面处理,适合页面阅读节省流量,standard模式和标准浏览器一致;一旦设置layoutmode meta后,用户使用浏览器提供的的排版模式选项将会无效。
夜间模式
<meta name="nightmode" content="enable|disable"/>
nightmode的值设置为disable后,即使用户使用浏览器的夜间模式,页面的表现也仍然是非夜间模式。
强制图片显示
<meta name="imagemode" content="force"/>
UC浏览器为了节省流量,为用户提供了无图模式,但是如果页面的图片是必不可少的,如验证码的,需要强制浏览器显示图片,可以设置imagemode, 不影响子页面。通过META设置图片加载方式会作用于整个页面,如果希望对单个图片进行设置,那么可以使用这个
<img src="..." show="force">
应用模式
<meta name="browsermode" content="application"/>
使用了application这种应用模式后,页面讲默认全屏,禁止长按菜单,禁止收拾,标准排版,以及强制图片显示。
QQ 浏览器x5内核定制标签说明
设置屏幕方向
<meta name="x5-orientation" content="portrait|landscape" />
设置全屏
<meta name="x5-fullscreen" content="true" />
设置屏幕模式
<meta name="x5-page-mode" content="app" />
对于控制全屏的meta 标签,UC 跟QQ 处理的方式稍有不同:区别在于处理系统状态栏,UC 是直接覆盖系统状态栏,而QQ 仍然保留之。
Run code
Cut to clipboard
$("p").css("color","red");
//同时设置字体大小和背景色
$("p").css({"fontSize":"30px" ,"backgroundColor":"#ccc"});
$("button").click(function(){
$("div").animate({
left:'250px',
height:'+=150px',
width:'+=150px'
});
});
Run code
Cut to clipboard
header('Content-Type:text/html;charset=utf-8'); //避免输出乱码
<img title="点击刷新" src="cache/yzm.php" align="absbottom" onclick="this.src='cache/yzm.php?'+Math.random();" />
Run code
Cut to clipboard
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.9.0/jquery.min.js"></script>
<link rel="stylesheet" href="http://lizhenqiu.com/templates/default/style.css" type="text/css" media="screen">
<script type="text/javascript">jQuery(".slideTxtBox").slide(); </script>
Run code
Cut to clipboard
Yourphp手册
简单文本编辑器
data:text/html, <title>Text Editor</title><body contenteditable style="font-size:2rem;font-family:georgia;line-height:1.4;max-width:60rem;margin:0 auto;padding:4rem;"> lizhenqiu.com
Run code
Cut to clipboard
Chrome提供了一个简单的方法。首先,按“F12”打开控制台,然后输入:
document.designMode = "on"
Run code
Cut to clipboard
添加到收藏夹URL填写下面的即可在当前页面点击收藏夹编辑页面
javascript:(function(){document.designMode = "on" })();
Run code
Cut to clipboard
接下来,你就可以编辑屏幕上的文本内容了。
编辑器
data:text/html, <html contenteditable>
Run code
Cut to clipboard
如果你想找回不小心关闭的Tab页面,只需要同时按下“Control"(Mac用户请按“Command”)、“Shift"和“T”。
js随机数
function getRandom(n){
return Math.floor(Math.random()*n+1)
}
Run code
Cut to clipboard
top.location.href 和 localtion.href 有什么不同
top.location.href=”url”
Run code
Cut to clipboard
在顶层页面打开url(跳出框架)
self.location.href=”url”
Run code
Cut to clipboard
仅在本页面打开url地址
parent.location.href=”url”
Run code
Cut to clipboard
在父窗口打开Url地址
this.location.href=”url”
Run code
Cut to clipboard
用法和self的用法一致
if (top.location == self.location) 判断当前location 是否为顶层来 禁止frame引用 如果页面当中有自定义的frame的话,也可以将parent self top换为自定义frame的名称 效果就是在自定义frame窗口打开url地址
实际中可能这样使用
if(top !== self){ top.location.href = location.href; }
Run code
Cut to clipboard
以下是从网上找到的一个例子,不是很直观, 我加了上面那三行代码, 可以先去掉, 再加上, 看一下效果,就很清楚了 以下是top.htm 代码
<script language=javascript> function rs(){
if(top !== self){ top.location.href = location.href; } parent.left.location.href="top.htm" parent.bot.location.href="top.htm" } < /script> < input type=button name=name value="ksdj" onclick=rs();>
Run code
Cut to clipboard
以下是一个随意文件名的htm文件:
<FRAMESET COLS="150,*"> < FRAME SRC="left.htm" name=left> < FRAMESET ROWS="150,*"> < FRAME SRC="top.htm" name=top> < FRAME SRC="bot.htm" name=bot> < /FRAMESET> < /FRAMESET>
Run code
Cut to clipboard
top表示主窗口,location表示当前窗口,如果你的文件只有一个框架,没有iframe和frmaeset,那么是完全一致的,没有区别。
top.location是在顶层frame中打开新页
window.location是在当前frame中打开新页
parent.location 在当前窗口的父窗口打开Url地址
<select id="isAudit" name="isAudit">
<option value="2">全部</option>
<option value="1" selected = "selected">通过</option>
<option value="0">未通过</option>
</select>
Run code
Cut to clipboard
修改ID增加ID属性,修改class同理
$('.div').attr('id','newid');
如果是给标签添加class样式可以这样
$('#div').addClass('css类名');
strtotime("-1 week"), strtotime("-n days");可以很方便的获取当前日期的前n天、周、月的时间戳
Run code
Cut to clipboard
舒适网页配色方案
px像素转换rem单位工具
(支付宝)给作者钱财以资鼓励 (微信)→
有过 279 条评论 »
data:image/gif;base64,R0lGODlhAQABAJEAAAAAAP///////wAAACH5BAEAAAIALAAAAAABAAEAAAICVAEAOw==
局域网连接共享打印机
win+r
\\192.168.1.102
+Math.random();
js随机函数
PHP date时间格式化输出
文字放大闪动动画css3
#baitianyemaozi { display:inline-block; -webkit-transform:scale(.9); -moz-transform:scale(.9); transform:scale(.9); -webkit-animation:baitianyemaozi .5s infinite linear alternate-reverse; -moz-animation:baitianyemaozi .5s infinite linear alternate-reverse; animation:baitianyemaozi .5s infinite linear alternate-reverse; } @-webkit-keyframes baitianyemaozi { to { -webkit-transform:scale(1.2); } }@-moz-keyframes baitianyemaozi { to { -moz-transform:scale(1.2); } }@keyframes baitianyemaozi { to { transform:scale(1.2); } }
说明下:
字符串的indexOf方法是无法区分.no-js和.no-js-indeed这样的类;
类名的分隔符可能不是空格,还有可能是\t等。
从1开始 至 任意值parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值parseInt(Math.random()*(上限-下限+1)+下限);
Math.ceil() 返回大于等于数字参数的最小整数(取整函数),对数字进行上舍入
Math.floor() 返回小于等于数字参数的最大整数,对数字进行下舍入
Math.round() 返回数字最接近的整数,四舍五入
生成800-1500的随机整数,包含800但不包含1500
1500-800 = 700 Math.random()*700 var num = Math.random()*700 + 800; num = parseInt(num, 10);
图片自适应父元素,并左右上下居中
这种效果多见于矩形盒子里面调用不规则的图片,希望能够达到的效果。这个效果可以很简单的用css来实现,虽然已经烂熟于心,但是并未记录下来。今天看到又有这个需求,所以写了一个简单的demo,放在这里,便于自己记忆。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <div class="picdemo"><img src="https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1438475101,354016904&fm=58" alt=""></div> <div class="picdemo"><img src="https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=2201558756,12364836&fm=111&gp=0.jpg" alt=""></div> </body> </html> <style> .picdemo { width: 120px;height: 120px;margin: 40px auto;border: 1px solid #ccc;text-align: center;padding: 5px; } .picdemo:before { content: "";display: inline-block;height: 100%;vertical-align: middle;width: 0; } .picdemo img { max-width: 120px; max-height: 120px;vertical-align: middle; } </style>
Canvas画布爆破效果
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Pragma" CONTENT="no-cache"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="format-detection" content="telephone=no"> <meta name="keywords" content="canvas html5 video"/> <meta name="description" content="点击爆破视屏" /> <title>爆破视屏</title> <style> *{ margin:0; padding:0; } .video{ /*display:none;*/ width:1px; height:1px; text-align:center ; position:absolute; } .video video{ width:1px; height:1px; } #sourcecopy{ display:none; } .tip{ text-align:center; margin:5% 0 0 0; font-size: 18px; font-weight: 600; color: #666; position:absolute; top:0; width:100%; } .stage{ text-align:center; } #sourceshow{ /*background-color:#ddd;*/ } </style> </head> <body> <div class="video"> <video id="sourceid" autoplay="true" loop="true" volume="0" loop="true" controls="controls" webkit-playsinline> <source src="http://www.tofei.cc/comments/4_BlowVido/video/BigBuckBunny_640x360.mp4"> <source src="http://www.tofei.cc/comments/4_BlowVido/video/BigBuckBunny_640x360.ogv"> </video> <canvas id="sourcecopy"></canvas> </div> <div class="stage"> <div class="tip"><p>请点击视屏</p> </div> <canvas id="sourceshow"></canvas> </div> <script> var video; var copy; var copycanvas; var draw; var first=true; //小方块的大小 var TILE_WIDTH = 32; var TILE_HEIGHT = 24; //方块中心位置 var TILE_CENTER_WIDTH=16; var TILE_CENTER_HEIGHT=12; //全局变量,根据视屏大小定义画布大小 var COPY_WIDTH=640; var COPY_HEIGHT=360; var DRAW_WIDTH=window.innerWidth*0.99; var DRAW_HEIGHT=window.innerHeight*0.99; var SOURCERECT = {x:0,y:0,width:0,height:0}; var PAINTRECT={x:0,y:0,width:DRAW_WIDTH,height:DRAW_HEIGHT}; function init(){ //初始化画布 video=document.getElementById('sourceid'); copycanvas=document.getElementById('sourcecopy'); copycanvas.width=COPY_WIDTH; copycanvas.height=COPY_HEIGHT; copy=copycanvas.getContext("2d");//获取2d绘图环境 var showcanvas=document.getElementById('sourceshow'); showcanvas.width=DRAW_WIDTH; showcanvas.height=DRAW_HEIGHT; draw=showcanvas.getContext("2d"); /*每隔33毫秒绘制一帧canvas*/ setInterval("processFrame()", 33); /*鼠标点击屏幕事件*/ showcanvas.addEventListener('mousedown',dropBomb,false); showcanvas.addEventListener('touchstart',dropBomb,false); //setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。 } //后面用于小方块旋转角度使用 var RAD = Math.PI/180; //存储小方块信息的数组 var tiles = []; /*每帧画布的绘制*/ function processFrame(){ //video.duration 属性返回当前音频/视频的长度,以秒计。 //isNaN() 函数用于检查其参数是否是非数字值。 if(!isNaN(video.duration)){ if(SOURCERECT.width==0) { SOURCERECT={x:0,y:0,width:video.videoWidth,height:video.videoHeight}; //初始化小方块 createTiles(); } } //绘制拷贝用的copy canvas画布 copy.drawImage(video,0,0);//drawImage() 方法在画布上绘制图像、画布或视频。 draw.clearRect(PAINTRECT.x, PAINTRECT.y,PAINTRECT.width,PAINTRECT.height);//clearRect() 方法清空给定矩形内的指定像素 //绘画每一帧之前清空前一帧 /*根据栈tiles绘制每一个小tile*/ for (var i = 0; i <tiles.length; i++) { var tile=tiles[i]; if(tile.force>0.0001){ tile.moveX *= tile.force;//移动的x距离(根据force计算,越靠近点击的中心离原来的位置越远,回来的一帧移动距离越大) tile.moveY *= tile.force;//移动的y距离 tile.moveRotation *= tile.force;//转动的角度 tile.currentX += tile.moveX;//移动后的位置 tile.currentY += tile.moveY; tile.rotation += tile.moveRotation;//转动后的角度 tile.rotation %= 360; tile.force *= 0.9;//force每渲染一帧值都减少,直到小于0.0001 if(tile.currentX <= 0 || tile.currentX >= PAINTRECT.width){ tile.moveX *= -1; //超出边界左右 } if(tile.currentY <= 0 || tile.currentY >= PAINTRECT.height){ tile.moveY *= -1; //超出上下边界 } }else if(tile.rotation != 0||tile.currentX != tile.originX || tile.currentY != tile.originY)//判断没有回来到原来的位置和角度 { var diffx=(tile.originX-tile.currentX)*0.2; var diffy=(tile.originY-tile.currentY)*0.2; var diffRot=(0-tile.rotation)*0.2; if(Math.abs(diffx)<0.5)//Math.abs计算绝对值的数值表达式(距离的0.2倍小于0.5为最后一步,接下来回到原位) { tile.currentX = tile.originX; }else{//距离的0.2超过0.5,那么加上距离的0.2再次渲染 tile.currentX += diffx; } if(Math.abs(diffy)<0.5)//Math.abs计算绝对值的数值表达式 { tile.currentY = tile.originY; }else{ tile.currentY += diffy; } if(Math.abs(diffRot) < 0.5){ tile.rotation = 0; }else{ tile.rotation += diffRot; } }else{//回到原来的位置 tile.force = 0; } draw.save();//save() 方法把当前状态的一份拷贝压入到一个保存图像状态的栈中。 draw.translate(tile.currentX,tile.currentY); draw.rotate(tile.rotation*RAD); //从copycanvas获取数据,根据数组中tile[i]的数据画一个小方格 draw.drawImage(copycanvas, tile.videoX, tile.videoY, TILE_WIDTH, TILE_HEIGHT, -TILE_CENTER_WIDTH, -TILE_CENTER_HEIGHT, TILE_WIDTH, TILE_HEIGHT); draw.restore();//restore() 方法从栈中弹出存储的图形状态并恢复 CanvasRenderingContext2D 对象的属性、剪切路径和变换矩阵的值。 } } /*把视屏分成根据视屏屏幕大小分成300个tile,栈用于存储每个tile的位置,旋转角度,中心等信息,用于绘制展示页面的绘制*/ function createTiles(){ var offsetX=TILE_CENTER_WIDTH+(PAINTRECT.width-SOURCERECT.width)/2; var offsetY=TILE_CENTER_HEIGHT+(PAINTRECT.height-SOURCERECT.height)/2; var y=0; while (y<SOURCERECT.height) { var x=0; while(x<SOURCERECT.width){ var tile=new Tile(); tile.videoX=x; tile.videoY=y; tile.originX=offsetX+x; tile.originY=offsetY+y; tile.currentX=tile.originX; tile.currentY=tile.originY; tiles.push(tile); x+=TILE_WIDTH; } y+=TILE_HEIGHT; } } /*Tile对象用于存储每个小块的信息*/ function Tile(){ this.originX=0; this.originY=0; this.currentX=0; this.currentY=0; this.rotation=0; this.force=0; this.moveX=0; this.moveY=0; this.moveRotation=0; this.videoX=0; this.videoY=0; } /*计算出点击在显示的canvas画布的位置*/ function dropBomb(evt){ var posx=0; var posy=0; var e=evt||event; //clientX 事件属性返回当事件被触发时鼠标指针向对于浏览器页面(或客户区)的水平坐标。客户区指的是当前窗口。 //pageX() 属性是鼠标指针的位置,相对于文档的左边缘。 if(e.pageX||e.pageY){ posx=e.pageX; posy=e.pageY; }else if(e.clientX || e.clientY){ /*有两个值一个是:scrollTop一个是scrollLeft 第一个代表页面利用滚动条滚动到下方时,隐藏在滚动条上方的页面的高度; 第二个代表页面利用滚动条滚动到右侧时,隐藏在滚动条左侧的页面的宽度*/ posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft; posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop; } /*obj.offsetTop 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算上侧位置,整型,单位像素。 obj.offsetLeft 指 obj 相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置,整型,单位像素。*/ var canvasX=posx-this.offsetLeft; var canvasY=posy-this.offsetTop; explode(canvasX,canvasY); if(first) { video.play(); first=false; //musictype=true; //musicOn.setAttribute("class", "music on"); } } function explode(x,y){ for(var i=0;i<tiles.length;i++) { var tile=tiles[i]; var xdiff=tile.currentX-x; var ydiff=tile.currentY-y; var dist=Math.sqrt(xdiff*xdiff+ydiff*ydiff);//sqrt根号 dist为tile碎片到点击点的距离 var randRange=220+(Math.random()*30); //randRange值的计算方式????不太了解250是从哪个值计算而来 var range=randRange-dist; var force = 3*(range/randRange);//越靠近force越大 if(force>tile.force){//如果当前的force已经大图要赋值给的force那么不再赋值 tile.force=force; var radians=Math.atan2(ydiff, xdiff);//atan2(Y2-Y1,X2-X1)所表达的意思是坐标原点为起点,指向(x,y)的射线在坐标平面上与x轴正方向之间的角的角度。 tile.moveX=Math.cos(radians); tile.moveY=Math.sin(radians); tile.moveRotation=0.5-Math.random(); //console.log('tile.moveX:'+tile.moveX+'tile.moveY:'+tile.moveY+'tile.moveRotation:'+tile.moveRotation); } } tiles.sort(zindexSort);//sort() 方法用于对数组的元素进行排序。zindexSort可选。规定排序顺序。必须是函数。 processFrame();//渲染小方块,此刻小方块的的位置和旋转较多变化了。 } //排序小方块(根据force的大小) function zindexSort(a,b){ return (a.force-b.force); } window.onload=init; </script> </body> </html>
IPsec好比是GFW
GFW屏蔽了facebook让你无法访问但是不等于说GFW把facebook的服务器给关机了
希望这样说能明白
bat查指定端口是否开启
@echo off :str echo. & set /p "str=请输入需要查询的端口号:" & echo. if not defined str goto :str call :for %str% goto :str :for Setlocal Enabledelayedexpansion for /F "usebackq skip=4 tokens=2" %%i in (`netstat -ano -p UDP`) do ( set "var=%%i" & set "var=!var:*:=!" echo.!var! | findstr /i "%1" 1>nul && echo 端口:%1 已开启。 && goto :eof) echo 端口:%1 未开启。 & goto :str
勒索病毒-批处理关闭135 137 445等端口
永恒之蓝勒索病毒wanacrypt0r
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit @echo off color 1f title 关闭135 137 138 139 445 端口 echo. echo. echo. echo 正在关闭135端口 请稍候… netsh advfirewall firewall add rule name = "Disable port 135 - TCP" dir = in action = block protocol = TCP localport = 135 echo. netsh advfirewall firewall add rule name = "Disable port 135 - UDP" dir = in action = block protocol = UDP localport = 135 echo. echo 正在关闭137端口 请稍候… netsh advfirewall firewall add rule name = "Disable port 137 - TCP" dir = in action = block protocol = TCP localport = 137 echo. netsh advfirewall firewall add rule name = "Disable port 137 - UDP" dir = in action = block protocol = UDP localport = 137 echo. echo 正在关闭138端口 请稍候… netsh advfirewall firewall add rule name = "Disable port 138 - TCP" dir = in action = block protocol = TCP localport = 138 echo. netsh advfirewall firewall add rule name = "Disable port 138 - UDP" dir = in action = block protocol = UDP localport = 138 echo. echo 正在关闭139端口 请稍候… netsh advfirewall firewall add rule name = "Disable port 139 - TCP" dir = in action = block protocol = TCP localport = 139 echo. netsh advfirewall firewall add rule name = "Disable port 139 - UDP" dir = in action = block protocol = UDP localport = 139 echo. echo 正在关闭445端口 请稍候… netsh advfirewall firewall add rule name = "Disable port 445 - TCP" dir = in action = block protocol = TCP localport = 445 echo. netsh advfirewall firewall add rule name = "Disable port 445 - UDP" dir = in action = block protocol = UDP localport = 445 echo. echo 按任意键退出 pause>nul
制作一个BAT的端口扫描器
@echo off setlocal enabledelayedexpansion title 端口扫描器 by 风旋碧浪 color 4f&MODE con: COLS=50 LINES=12 echo.&echo 开始扫描,需要时间,请稍候…… (echo.&echo 端口号 进程名称 echo.&echo TCP协议: )>>端口查看.txt echo.&echo 正在扫描TCP协议…… for /f "skip=4 tokens=2,5" %%a in ('netstat -ano -p TCP') do ( for /f "tokens=2 delims=:" %%A in ("%%a") do set TCP端口=%%A for /f "skip=2 delims=, tokens=1" %%A in ('tasklist /fi "PID eq %%b" /FO CSV') do set TCP进程=%%~A echo !TCP端口! !TCP进程!>>端口查看.txt ) echo UDP协议: >>端口查看.txt echo.&echo 正在扫描UDP协议…… for /f "skip=4 tokens=2,4" %%a in ('netstat -ano -p UDP') do ( for /f "tokens=2 delims=:" %%A in ("%%a") do set UDP端口=%%A for /f "skip=2 delims=, tokens=1" %%A in ('tasklist /fi "PID eq %%b" /FO CSV') do set UDP进程=%%~A echo !UDP端口! !UDP进程!>>端口查看.txt ) echo.&echo.&echo 扫描结束!请查看《端口查看.txt》文件! pause>nul
window dos bat 检查本机开放的端口及端口对应进程的批处理
@echo off color 1f Title XP端口-进程查询 setlocal enabledelayedexpansion echo ╔- -╗ echo 本机开放的端口及使用该端口的进程 echo ╚- -╝ echo ------------------------------------ echo 端口号 进程名称 ECHO TCP协议: ::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; ::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( call :Assoc %%i TCP %%j echo !TCP_Port! !TCP_Proc_Name! ) ECHO UDP协议: for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( call :Assoc %%i UDP %%j echo !UDP_Port! !UDP_Proc_Name! ) echo 按任意键退出 pause>nul :Assoc ::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) for /F "tokens=2 delims=:" %%e in ("%1") do ( set %2_Port=%%e ) :: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( ::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 set %2_Proc_Name=%%~a )
ms17-010
十年一遇的远程代码执行漏洞,SYSTEM 权限
95~Win10 全中
不夸张的说,如果不是 MS 补丁出得快
全球 Windows 电脑将无一幸免
据说是 NSA 提前通知微软补洞了,所以才没成为全版本 Windows 通杀漏洞。
蜜汁更新干掉了 Shadow Brokers 的 0day:
https://arstechnica.com/security/2017/04/purported-shadow-brokers-0days-were-in-fact-killed-by-mysterious-patch/
虽然人命和电脑文档无法类比,但还是以相近的例子说一下,被绑架禁止交赎金?
警察和政府都无权阻止受害人以交赎金避免损失的行为,因为他人并不能承担受害人的实际损失
可以持“不支持”的立场,但不能禁止
不能以“助长犯罪”去评价受害人,这是道德绑架
https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
https://technet.microsoft.com/zh-cn/library/security/MS17-010
To open the firewall ports to enable file and printer sharing
Open Control Panel, click System and Security, and then click Windows Firewall.
In the left pane, click Advanced settings, and in the console tree, click Inbound Rules.
Under Inbound Rules, locate the rules File and Printer Sharing (NB-Session-In) and File and Printer Sharing (SMB-In).
For each rule, right-click the rule, and then click Enable Rule.
自己看看这两条规则有没有开启就行。
永恒之蓝病毒
SMB 服务确实是默认开着的(关了还会出问题),但是防火墙默认禁用了所有入站流量。
https://support.microsoft.com/en-us/help/2696547/how-to-enable-and-disable-smbv1,-smbv2,-and-smbv3-in-windows-vista,-windows-server-2008,-windows-7,-windows-server-2008-r2,-windows-8,-and-windows-server-2012
代理的概念是一样的,就是你不能直接访问为你提供服务的那台服务器,需要有个中间人(代理)来帮你转达你的请求,或者服务器返回的信息。
从使用者的角度来说,
[正向代理] 就是你明知道你无法直接访问服务器 A,需要找个服务,来让你能迂回的访问到服务器 A。比如你明明知道 Google 打不开,然后想要打开的时候,你用的服务对你来说就是正向代理。
[反向代理] 就是你需要访问一个服务,比如百度,你知道访问 baidu.com,也知道对应的 ip 是 14.215.177.37,但百度可能是用到内部的一个服务器 ip 192.168.0.2 来接受搜索的请求并返回结果,只是通过 14.215.177.37 这个 ip 跟你进行交互,14.215.177.37 这个 ip 不提供搜索的服务,这个过程中的 14.215.177.37 就是反向代理了。而使用者在这个过程中是完全无感的。
局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。
广域网(WAN,Wide Area Network)也称远程网(long haul network )。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。
覆盖的范围比局域网(LAN)和城域网(MAN)都广。广域网的通信子网主要使用分组交换技术。广域网的通信子网可以利用公用分组交换网、卫星通信网和无线分组交换网,它将分布在不同地区的局域网或计算机系统互连起来,达到资源共享的目的。如因特网(Internet)是世界范围内最大的广域网。
广域网是由许多交换机组成的,交换机之间采用点到点线路连接,几乎所有的点到点通信方式都可以用来建立广域网,包括租用线路、光纤、微波、卫星信道。而广域网交换机实际上就是一台计算机,有处理器和输入/输出设备进行数据包的收发处理。
正向代理-- 我代理帮我干活。(你发出去的 http 请求是完整的 url,由代理生成 http 请求头)
反向代理-- 我不知道帮我干活的是代理。(服务器自己的负载均衡服务器调度,你不用管)
透明代理-- 我不知道他帮我干了活(著名的劫持, 重组 http 请求)
正向代理也可以不部署在 LAN 内;反向代理也可以代理 LAN 外的服务器(比如代理 google 的各种网站)。
我觉得正向 /反向的主要区别在于代理服务器是专门为 Client/Server 服务的。
“Kill Switch”就是紧急开关的意思。WannaCry勒索病毒此前发作的时候会向某个域名发出请求,如果该域名存在就会退出,不存在则继续攻击,这个域名就是它的Kill Switch。
为了防止硬盘空间不够的意外,WanaCry 都是原地写入的, 加密数据覆盖到原来的位置
而不是愚蠢的生成一个新文件再把旧的删掉
什么反删除软件屁用都没有,知乎上吹牛逼的垃圾一堆堆的
其素质早就跌到和微信朋友圈一个水准了
在cmd状态下批量执行以下命令可关闭危险端口:
net stop SCardSvr net stop SCPolicySvc sc config SCardSvr start= disabled sc config SCPolicySvc start= disabled sc config MpsSvc start= auto net start MpsSvc netsh advfirewall set allprofiles state on netsh advfirewall firewall add rule name="deny udp 137" dir=in protocol=udp localport=137 action=block netsh advfirewall firewall add rule name="deny tcp 137" dir=in protocol=tcp localport=137 action=block netsh advfirewall firewall add rule name="deny udp 138" dir=in protocol=udp localport=138 action=block netsh advfirewall firewall add rule name="deny tcp 138" dir=in protocol=tcp localport=138 action=block netsh advfirewall firewall add rule name="deny udp 139" dir=in protocol=udp localport=139 action=block netsh advfirewall firewall add rule name="deny tcp 139" dir=in protocol=tcp localport=139 action=block netsh advfirewall firewall add rule name="deny udp 445" dir=in protocol=udp localport=445 action=block netsh advfirewall firewall add rule name="deny tcp 445" dir=in protocol=tcp localport=445 action=block
UPUPW服务器能访问,外网访问不了的解决办法
大家在服务器环境的使用过程中可能会经常碰到服务器能访问外网访问不了的情况,具体表现如下:
1、服务器环境启动正常,PHP探针文件可见,域名解析成功,服务器上输入域名可访问对应网站但外网无法访问。
2、本地局域网上搭建服务器环境,局域网IP已绑定,搭建环境那台机器访问正常局域网内其它机器均无法访问。
以上两种情况都是由windows自带的防火墙已开启但是没有添加80端口造成的
解决办法:
1、开始---设置---控制面板---windows防火墙---例外(入站规则)---添加端口---名称和端口号分别输入80---确定(如果服务器环境已改为非80端口则添加对应端口号)
还有一种办法是在例外(允许应用或功能通过windows防火墙)选择添加程序---浏览---找到对应服务器环境程序如apache版添加httpd.exe,nginx版添加nginx.exe,kangle版添加kangle.exe
2、有另一种情况除了使用以上方法外还要考虑到一个问题,那就是你的服务器或云主机提供商在整体网络上设置了白名单机制,没有在白名单里的域名外网也无法访问到,此时需要你联系服务商把域名添加进去解决问题。
以上两种方法希望能够帮助大家解决问题。
错误信息:Request-URI Too Long
方法1:清除下浏览器缓存和Cookie 方法2:修改Apache2/conf/httpd.conf 在最后加上以下配置后回upupw面板rr下 复制代码 LimitRequestLine 40940 LimitRequestFieldSize 40940 LimitRequestLine 这个指令用来设置客户端发送的HTTP请求行的最大字节数。请求行包括HTTP方法、URL、协议版本等。因此LimitRequestLine指令能够限制URL的长度,服务器会需要这个值足够大以装载它所有的资源名,包括可能在GET请求中所传递的查询部分的所有信息。 LimitRequestFieldSize 这个指令用来设置客户端发送的HTTP请求头的最大字节数。一般来说,服务器需要此值够大,以适应普通客户的的任何请求的头域大小。头域的大小一般与浏览器支持的内容协议有密切关系。 LimitRequestLine和LimitRequestFieldSize指令有很好的可控性,以把握客户端不正常的请求行为,这有助于避免某些攻击。默认值为“8190”,一般情况下,不要更改这个值,使用默认即可,特殊情况适当修改。
client_header_buffer_size 128k; large_client_header_buffers 4 128k;
去掉access日志中的400方法
0.7.12以前版本的nginx收到一个空请求,nginx不会去与任何虚拟主机匹配,直接返回400错误,
之后的新版本nginx可以用server_name _;匹配空请求头。
所以如果用的旧版本先升级到0.7.12以后的版本
升级之后添加如下默认虚拟主机server。
增加默认的server到配置文件,以下配置的解释看这里禁止未绑定域名访问
server { listen 80 default_server; server_name _; return 404; access_log off; }
建议把上面这个server保存为default.conf,然后include到主配置文件nginx.conf
3389端口是Windows 2000(2003) Server远程桌面的服务端口,可以通过这个端口,用"远程桌面"等连接工具来连接到远程的服务器,如果连接上了,输入系统管理员的用户名和密码后,将变得可以像操作本机一样操作远程的电脑,因此远程服务器一般都将这个端口修改数值或者关闭。
中文名 3389端口 远程桌面的服务端口 平台 Windows 2000(2003) Server 过程 开始->设置->控制面板
关闭3389端口之前,请将您的系统登录密码设置的较为复杂些。
一、关闭与3389端口相关的Windows后台服务
Windows XP/2003中:
依次点击:开始->设置->控制面板->管理工具->服务
在后台服务列表中,找到下列四项
NetMeeting Remote Desktop Sharing
Remote Desktop Help Session Manager
Terminal Services
Terminal Services Session Directory
将上述四项Windows后台服务设置为禁用。
Windows 7中:
注:在控制面板中,将“查看方式”改成“大图标”方可看到上述选项。
在后台服务列表中,找到下列三项
Remote Desktop Configuration
Remote Desktop Services
Remote Desktop Services UserMode
将上述三项Windows后台服务设置为禁用。
二、关闭与3389端口相关的前台程序
依次点击:开始->设置->控制面板->系统
选择“系统属性”窗口中的“远程”标签
1、将“启用远程协助并允许从这台计算机发送邀请”前面的对号去除
2、将“启用这台计算机上的远程桌面”前面的对号去除
重启电脑,即可将3389端口彻底关闭
注:如果你的系统登录密码为空或过于简单,且23、135、139这些端口尚未并闭,则很容易通过这些端口再次远程开启3389端口,本次操作也就没有任何意义。
修改服务器端的端口设置 ,注册表有2个地方需要修改。 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp] PortNumber值,默认是3389,修改成所希望的端口,如6222。[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]PortNumber值,默认是3389,同样修改成所希望的端口值6222。
要注意的是:当你的计算机修改完端口号后要想继续使用远程桌面,并且计算机有启用防火墙,则必须在防火墙例外中添加所修改的端口号。否则用3389与修改后的端口号都将连不上远程桌面。
a链接href执行js代码
<a href = "javascript:alert(22);">点我</a>
去掉a链接点击
href="javascript:;"
或者去掉href属性
view-source:URL
nofollow有两种用法: 1.用于meta元标签:<meta name="robots" content="nofollow" />,告诉爬虫该页面上所有链接都无需追踪。 2.用于a标签:<a href="login.aspx" rel="nofollow">登录</a>,告诉爬虫该页面无需追踪。
$('#up').click(function(){
//动画效果,平滑滚动回到顶部
$('body').animate({ scrollTop: 0 });
//不需要动画则直接
//$('body').scrollTop(0)
})
margin-left,margin-right等同时使用可以自动拉宽高度?
css样式中,fixed的和absolute有一样的特性,我们并没有给这个div设置高度,而是通过:top:0;bottom:0;来设置div的高度。这个好理解,就是说这个div上顶着天,下踩着地,那就是百分百的高度了。
通过top,bottom联合定位使用,就可以确定absflex div的自适应高度
top优先了,left和right也一样,left优先?还是谁在前谁优先?
一、使用position+top/bottom/left/right布局时可以忽略block元素换行的影响。
二、浮动布局在三列的情况下不能实现左右两列固定大小,中间填充的效果。(postion可以)。
三、使用position布局时,在ie6中,对同一对像不能同时使用top/bottom,但可以同时使用left/right。
四、使用position布局时应该先在父容器中设置好position:absolute,然后在本对像中也设置好position:absolute。
五、三列布局,且左右两边大小固定,中间填充的方法是左边设置top/left,右边设置right/top。而中间设置top/left/right,并且一定要把width设为100%。
六、在ie6中需要在body中设置height:100%才能在垂直布局中使对像申展到预期frame的大小。
七、关于ie hack。ie7只认*,ie6认_和*。
var t=$("#"+id).val(); $("#"+id).val("").focus().val(t); //其原理就是获得焦点后重新把自己复制粘帖一下
/index.php?s=/addon/WeiSite/WeiSite/product/id/83/p/2
在URL最后面加“ #mp.weixin.qq.com ”,应该加其他qq.com的二级域名都行,估计是微信的安卓内置浏览器是根据域名判断是否屏蔽tel:的。
<a href="tel:电话号码"></a>
在URL最后面加“ #mp.weixin.qq.com ”。 例如公司简介的页面是:http://app.xxxxx.com/about.html#mp.weixin.qq.com ,那么这个页面里面的 tel:都能正常跳到拨号界面了。
tel:13000000000
不能拨号,但
tel://13000000000
可以的,
A>B 表示选择A元素的所有子B元素。
与A B的区别在于,A B选择所有后代元素,而A>B只选择一代。
另外:没有<的用法。
A+B表示HTML中紧随A的B元素。
nth-child是个伪类的用法,如p:nth-child(2)就表示在p的父元素中选择位居第二位的p,这个可能不太好理解,自己试一试就知道了。
<style>.parent { text-align:center; margin:0 auto; width:200px; height:200px; background:red; } .children { positiona;absolute; margin-top:75px; width:50px; height:50px; background: black; display:inline-block;/*使其父元素text-align生效*/ }</style><div class="parent"> <div class="children"></div> </div>
图片黑白css 使用CSS将图片转换成黑白(灰色、置灰) CSS3 Filter 去色
<style> img{ -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: grayscale(100%); -o-filter: grayscale(100%); filter: grayscale(100%); filter: gray;} img:hover{-webkit-filter: grayscale(0); -moz-filter: grayscale(0); -ms-filter: grayscale(0); -o-filter: grayscale(0); filter: grayscale(0); filter: gray(0); } </style> <img src="VCG21gic16069628.jpg">