首页
好物推荐
薅羊毛领红包
好看壁纸
更多
隐私政策
友情链接
时光机
搜索
1
使用 docker 快速安装 Home Assistant
6,125 阅读
2
Ipad mini2 降级到IOS10.3.3系统
4,121 阅读
3
Home Assistant集成OpenWrt
3,553 阅读
4
华为手机开启ADB进行WIFI远程调试
3,487 阅读
5
小米电视开机广告和乐播投屏广告Hosts屏蔽列表
3,291 阅读
无分类
智能家居
心得随想
文档教程
登录
Search
标签搜索
Linux
JS
教程
CSS
HTML
配置
NodeJS
Docker
解决方案
文档
Git
Java
技术培训
Hadoop
Mac
Windows
RiotJS
Python
VPS
Home Assistant
DONG HAO
累计撰写
154
篇文章
累计收到
59
条评论
首页
栏目
无分类
智能家居
心得随想
文档教程
页面
好物推荐
薅羊毛领红包
好看壁纸
隐私政策
友情链接
时光机
搜索到
25
篇与
文档教程
的结果
2021-10-27
按照css-grid的卡片排版
.grid{ display: grid; grid-template-columns: repeat(auto-fill, minmax({设计给的最小宽度}, {设计给的最大宽度})); grid-gap: {设计给的横向空间} {设计给的纵向空间}; // 不符合?的会被覆盖 justify-content: space-between; }{callout color="#f0ad4e"}来源:阮一峰的博客 CSS Grid 网格布局教程{/callout}
2021年10月27日
288 阅读
0 评论
1 点赞
2021-01-13
CSS Viewport 单位
移动设备上的最小字体大小不应该不于14px,为标题提供最小字体大小.title { font-size: calc(14px + 2vw); }计算它的等效的 vwvw = (Pixel Value / Viewport width) * 100移动端滚动问题:即使使用100vh,也会滚动,原因是地址栏的高度可见。.my-element { height: 100vh; /* 不支持自定义属性的浏览器的回退 */ height: calc(var(--vh, 1vh) * 100); }// 首先,我们得到视口高度,我们乘以 1% 得到一个vh单位的值 let vh = window.innerHeight * 0.01; // 然后,将`--vh`自定义属性中的值设置为文档的根目录一个属性 document.documentElement.style.setProperty('--vh', `${vh}px`);{callout color="#f0ad4e"} 来源:CSDN CSS Viewport 单位,很多人还不知道使用它来快速布局! {/callout}
2021年01月13日
354 阅读
0 评论
0 点赞
2019-03-05
JS监听VUE的HASH变化
(history) { let pushState = history.pushState; history.pushState = function(state) { if (typeof history.onpushstate === 'function') { history.onpushstate({ state: state }); } return pushState.apply(history, arguments); }; let replaceState = history.replaceState; history.replaceState = function(state) { if (typeof history.onreplacestate === 'function') { history.onreplacestate({ state: state }); } return replaceState.apply(history, arguments); }; })(window.history);window.onhashchange = window.onpopstate = history.onpushstate = history.onreplacestate = function() { console.log('change!')};
2019年03月05日
592 阅读
1 评论
0 点赞
2019-02-13
记一次阿里云被黑客使用RPCBind服务进行UDP反射DDoS攻击
最近总是收到阿里云的预警邮件:您的云服务器(xxx.xxx.xxx.xxx)由于被检测到对外攻击,已阻断该服务器对其它服务器端口(UDP:ALL)的访问... 发现然后在收到预警时候立马登录上去看,发现rpcbind -w这个进程cpu使用率比较高,就查了下关于rpcbind服务的漏洞问题,发现如下:【风险详情】 RPCBind(也称Portmapper、portmap或RPCPortmapper)是一种通用的RPC端口映射功能,默认绑定在端口111上,可以将RPC服务号映射到网络端口号。它的工作原理是当RPC服务启动时,它会告诉RPCBind它正在监听的地址,以及它准备服务的RPC服务号;当客户端希望对给定的服务号进行RPC调用时,客户端首先需要联系服务器上的RPCBind,以确定应该在哪里发送RPC请求的地址。利用RPCBind进行UDP反射DDoS攻击的事件相对较少,这也是腾讯云安全今年以来捕获的首例利用云主机上的RPCBind服务进行UDP反射DDoS攻击的行为。不过其实早在2015年Level 3 Threat Research Labs就发现了这样一种新的攻击DDoS放大攻击形式,该反射方式放大系数最高可达28.4,US-CERT也在当时将该种攻击方式加入了UDP 攻击类型列表,具体可见https://www.us-cert.gov/ncas/alerts/TA14-017A 。 部分用户在云主机上启动RPCBind服务,服务绑定在默认TCP或UDP端口111,同时开放在外网,黑客通过批量扫描开放的111 UCP端口的服务器,利用UDP反射放大DDoS攻击原理发送虚假UDP请求,伪造源IP地址,将请求包中的源IP地址替换成攻击目标,反射服务器收到请求包发送响应来完成整个攻击流程。由于发送的请求包远小于响应,所以最终达到了反射放大的效果。 【修复建议】 服务被恶意利用的主要原因是RPCBind服务绑定在默认端口并开放在外网从而导致黑客可以访问并发送伪造的请求。 1.如果业务中并没有使用RPCBind服务,建议直接关闭 2.如果因业务需要必须使用RPCBind服务,建议通过安全组/防火墙等方式进行访问限制或者将其绑定在内网IP,不要开放在外网 解决因为我没有启用防火墙,也没有启用安全组策略。所以立马先开启iptables服务,教程参考https://blog.minws.com/archives/660/然后将RPCBind服务关闭,教程参考 https://blog.minws.com/archives/662/
2019年02月13日
769 阅读
0 评论
0 点赞
2018-04-11
Centos6搭建ngrok内网穿透服务
安装gogo下载地址 https://golang.org/dl///下载go安装包 wget https://dl.google.com/go/go1.10.1.linux-amd64.tar.gz //解压go安装包 tar -C /usr/local -xzf go1.10.1.linux-amd64.tar.gz //编辑环境变量文件 nano /etc/profile //最后添加环境变量 export PATH=$PATH:/usr/local/go/bin //应用环境变量 source /etc/profile 安装ngrok 下载ngrok源码 cd /usr/local git clone https://github.com/inconshreveable/ngrok.git cd ngrok 生成证书在自生成证书时需要一个解析到服务器上的主域名,以xxx.com为例。 //临时变量 export NGROK_DOMAIN="xxx.com" //生成证书 openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem openssl genrsa -out device.key 2048 openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000 //将新生成的证书,替换掉assets/client/tls下的证书 cp rootCA.pem assets/client/tls/ngrokroot.crt cp device.crt assets/server/tls/snakeoil.crt cp device.key assets/server/tls/snakeoil.key 编译生成 ngrokd 服务端 这里是交叉编译,linux系统GOOS=linux,64位系统GOARCH=amd64,32位系统GOARCH=386 #当前系统可用go env查看 GOOS=linux GOARCH=amd64 make release-server 可能遇到的问题 问题1: GOOS="" GOARCH="" go get github.com/jteeuwen/go-bindata/go-bindata bin/go-bindata -nomemcopy -pkg=assets -tags=release \ -debug=false \ -o=src/ngrok/client/assets/assets_release.go \ assets/client/... make: bin/go-bindata: Command not found make: *** [client-assets] Error 127 解决方法:前往go安装目录的bin目录下找到go-bindata,将他移动到ngrok/bin下 (没有bin,可新建一个) 问题2: package code.google.com/p/log4go: Get https://code.google.com/p/log4go/source/checkout?repo=: dial tcp 216.58.197.110:443: i/o timeout 因为google被墙,如果服务器不在墙外或者没有FQ则无法访问到code.google.com. 解决方法:在 ngrok/src/ngrok/log 目录下找到 logger.go 文件,修改其中第4或5行的: log "code.google.com/p/log4go”为 log "github.com/keepeye/log4go" 3.问题3: GOOS="" GOARCH="" go get github.com/jteeuwen/go-bindata/go-bindata # github.com/jteeuwen/go-bindata src/github.com/jteeuwen/go-bindata/toc.go:47: function ends without a return statement make: *** [bin/go-bindata] Error 2 解决办法: https://github.com/inconshreveable/ngrok/issues/237 ngrok自启动脚本#!/bin/sh ### BEGIN INIT INFO # Provides: ngrokd # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: ngrokd # Description: # ### END INIT INFO NAME=ngrokd DAEMON=/usr/local/ngrok/bin/$NAME KEY=/usr/local/ngrok/assets/server/tls/snakeoil.key CRT=/usr/local/ngrok/assets/server/tls/snakeoil.crt DOMAIN="xxx.com" HTTPADDR=":80" HTTPSADDR=":443" TUNNELADDR=":4443" case "$1" in start) echo "Starting $NAME..." nohup $DAEMON -tlsKey=$KEY -tlsCrt=$CRT -domain=$DOMAIN -httpAddr=$HTTPADDR -httpsAddr=$HTTPSADDR -tunnelAddr=$TUNNELADDR >/dev/null 2>&1 & ;; stop) echo "Stopping $NAME..." sudo ps -ef|grep $NAME|grep -v grep|cut -c 9-15|xargs kill -9 ;; restart) $0 stop && sleep 2 && $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 编译生成 ngrok 客户端#这里是交叉编译,linux系统GOOS=linux,64位系统GOARCH=amd64,32位系统GOARCH=386 #当前系统可用go env查看 Linux 32位 linux 386 Linux 64位 linux amd64 Windows 32位 windows 386 Windows 64位 windows amd64 Mac OS 32位 darwin 386 Mac OS 64位 darwin amd64 Linux ARM linux arm GOOS=windows GOARCH=amd64 make release-client 添加iptable规则(4443),如果需要。iptables -I INPUT -p tcp --dport 4443 -j ACCEPT /etc/init.d/iptables save service iptables restart 启动ngrok客户端//ngrok.cfg server_addr: "xxx.com:4443" trust_host_root_certs: false tunnels: http: subdomain: "www" proto: http: "8090" https: subdomain: "www" proto: https: "8090" ssh: remote_port: 2222 proto: tcp: "22" //run ngrok -config ngrok.cfg start http https ssh
2018年04月11日
522 阅读
0 评论
0 点赞
1
2