最新文章
一、通过openssl命令自建证书1、创建私钥:openssl genrsa -out server.key 1024 2、证书请求:openssl req -new -out server.csr -key server.key 3、自签署证书:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 4、将证书变成浏览器支持的.p12格式openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out serve
野猪佩奇 2021-09-18 运维 975
1, 使用 htpasswd 生成 passfile 文件htpasswd 是 apache 实用工具的一部分,Nginx 的密码格式和 Apache 的一样。CentOS 下的生成方法:yum install -y httpd-tools # 安装 htpasswd -c -d /etc/nginx/pass_file username Debian 下的生成方法:sudo apt-get install apache2-utils sudo htpasswd -c /etc/nginx/.htpasswd admin 2,添加到 nginx 配置在 server 或者 local 下,添加
野猪佩奇 2021-09-08 运维 1059
方法一,基本方法为每一份主题写一份 CSS 文件,批量替换颜色,例如 style.css、style.dark.css。如果需要切换模式的花,只需要 改变 link 指向的 CSS 文件路径。方法二,使用 SCSS 等工具引入颜色变量在方法一的基础上,生成多个 CSS 文件路径。方法三,使用CSS自定义属性(变量)CSS 原生变量支持,同样一个颜色值可能在成千上百个地方被使用到,如果这个值发生了变化,需要全局搜索并且一个一个替换(很麻烦哎~)。自定义属性在某个地方存储一个值,然后在其他许多地方引用它。属性名需要以两个减号(--)开始,大小写敏感,属性值可以是任何有效的CSS值。和其他属性一样,
野猪佩奇 2021-07-16 CSS 1692
WordPress 自带的 RESTful API 内置的身份验证方法是 Cookie Authentication ,登录仪表板时,会生成cookie。为了防止CSRF,需要在请求的地址后面,加上一个 nonce 参数“_wpnonce”。CSRF请参考:https://javascript.net.cn/article?id=683nonce生成,参考:https://verytheme.com/archives/136如果想使用JWT(JSON Web Token),官方建议使用插件 https://wordpress.org/plugins/jwt-authentication-for
野猪佩奇 2021-07-15 WordPress 1237
一,什么是懒加载?一般情况下,当一个页面加载以后,图片也会开始全部加载,这样会增加客户端和服务器的压力。为了减轻负担,让图片先出现在浏览器视口以后再进行加载。方法一,使用三个相关API:1,获取可视区域的高度 document.documentElement.clientHeight2,获取元素到文档顶部的高度 element.offsetTop3,获取浏览器窗口顶部与文档顶部之间的距 document.documentElement.scrollTopvar imgs = document.querySelectorAll('.lazyload-img'); //循环获取直到页面顶部的高
野猪佩奇 2021-06-01 JavaScript 1030
实现瀑布流有两种方法。HTML: div class="media-list waterfall" style="height: 100px;" div class="media-image" img src="images/img-1.jpg" /div div class="media-image" img src="images/img-2.jpg" /div div class="media-image" img src="images/img-3.jpg" /div div class="media-image"
野猪佩奇 2021-06-01 CSS 915
使用concat协议进行拼接两个mp4视频,报错:“Found duplicated MOOV Atom. Skipped”。ffmpeg -i "concat:1.mp4|2.mp4" -c copy output.mp4 原理上是因为 concat协议,实际上就只是把两个视频直接拼接,把后一个视频直接贴到前一个视频后面而已,因此只会适用于ts和flv等一些格式。mp4格式整体有一层容器,需要先解开容器再对提取的视频流进行拼接。解决方法:创建一个list.txt文件如下:file '/path/1.mp4' file '/path/2.mp4' file '/path/3.mp4'
野猪佩奇 2021-05-21 开发工具 1975
Nginx 会根据mime type告诉浏览器如何处理服务器返回的文件,是打开还是下载。默认的 default_type定义的是 default_type application/octet-stream;mime type 和文件扩展名的对应关系一般放在 mime.types这个文件里,然后用 include mime.types; 来加载mime.types文件里是用types指令来定义的文本:location /test { default_type text/html; return 200 'This is text!'; } JSON:location /test
野猪佩奇 2021-05-20 运维 1328
网站中图片过大无法正常显示,通常显示一半,就提示502错误了,Nginx 错误日志代理提示:2021/05/19 16:28:35 [crit] 10976#0: *13 open() "/nginx_dir/proxy_temp/2/00/0000000002" failed (13: Permission denied) while reading upstream, client: 200.130.237.38, server: test.com, request: "GET /uploads/images/20210220/48a18881fa3b45781b512f2376c9bef
野猪佩奇 2021-05-19 运维 1063
1, MySQL生成随机数的函数 RAND()select RAND(); 0.10994928061026081 2, 获取上面那个随机数以后,便可以通过 CEILING() 向上取整 或 FLOOR() 向下取整,以获取随机整数。CEILING向上取整:SELECT CEILING(RAND() * 10); RAND() 函数生成 0 到 1 之间的随机小数,乘以 10 后得到 0 到 10 之间的随机小数,然后使用 CEILING() 函数向上取整为整数,得到 1 到 10 之间的随机整数。FLOOR向下取整:SELECT FLOOR(RAND() * 10) + 1; RAND(
野猪佩奇 2021-05-18 MySQL 1359
location 匹配~ #匹配一个正则表达式,区分大小写 ~* #匹配一个正则表达式,不区分大小写 ^~ #匹配普通字符,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 = #进行普通字符精确匹配 @ #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files 演示:location = / { # 只匹配"/" } location / { # 匹配所有请求,长字符或者正则表达式会优先匹配 } location ^~ /images/ { # 匹配任何以 /images/ 开始的请求,并
野猪佩奇 2021-05-11 运维 1084
MainRule例子:MainRule "str:--" "msg:mysql comment (--)" "mz:BODY|URL|ARGS|$HEADERS_VAR:Cookie" "s:$SQL:4" id:1007; MainRule的匹配模式有:str:字符串 rx:正则表达式 d:libinj_xss:libinjection检测为xss d:libinj_sql:libinjection检测为sql注入 ”str:--”,代表匹配 -- 这个字符。"msg:mysql comment (--)" 用于描述规则。"mz:BODY|URL|ARGS|$HEADERS_VAR
野猪佩奇 2021-05-11 运维 1477
1, rewrite 介绍rewrite是实现URL重写的关键指令,根据regex (正则表达式)部分内容,重定向到replacement,结尾是flag标记。rewrite 在 server 块中针对所有的请求,location 中则针对单个匹配路径的,还可以在 If 条件块中使用。基本语法:rewrite regex replacement [flag]; regex: 正则表达式语句进行规则匹配replacement: 将正则匹配的内容替换成replacementflag: last | break | redirect | permanentlast : 本条规则匹配完成后,继
野猪佩奇 2021-05-11 运维 1033
介绍一个 Koa.js 的 SESSION 的中间件安装npm install koa-session 例子const session = require('koa-session'); const Koa = require('koa'); const app = new Koa(); app.keys = ['some secret hurr']; const CONFIG = { key: 'koa:sess', //cookie key (default is koa:sess) maxAge: 86400000, // cookie的过期时间 maxA
野猪佩奇 2021-05-09 Node.js 1033
介绍koa-body 是一个可以帮助解析 http 中 body 的部分的中间件,包括 json、表单、文本、文件等。还有一个常用的类似扩展 koa-bodyparser对比其中,koa-bodyparser 不可以直接处理文件,需要上传文件的时候,还需要引用另外一个中间件 koa-multer,项目地址和使用数量如下:koa-body Used by 31.6khttps://github.com/dlau/koa-bodykoa-bodyparser Used by 73.1k https://github.com/koajs/bodyparser代码示例// 初始化 const koa
野猪佩奇 2021-05-08 Node.js 1132
简介 Node.js 的 JSON Web Token 模块有很多,我选择使用 jsonwebtoken。 项目地址: https://www.npmjs.com/package/jsonwebtoken 安装 npm install jsonwebtoken --save 用法 const jwt = require("jsonwebtoken") const secret = "some word"; let payload = {}; payload.data = data || {}; //token 中包含的数据 payload.ctime = (new Date(
野猪佩奇 2021-05-06 Node.js 1102
一,Fetch API 介绍 Fetch API提供了一个 JavaScript 接口,用于访问和操纵HTTP的请求和响应等。提供了一个全局 fetch()方法来跨网络异步获取资源。 fetch()是 XMLHttpRequest 的升级版,用于在 JavaScript 脚本里面发出 HTTP 请求。 二,基本用法: fetch('https://test.com/api/info') .then(response = response.json()) .then(json = console.log(json)) .catch(err = console.log('Reque
野猪佩奇 2021-05-06 JavaScript 1087
SSH 密码登录#!/usr/bin/expect -f set password "123456" set timeout -1 spawn ssh user@xxx.xxx.xxx.xx expect "*assword:*" send "$password\r" expect "Last*" interact SSH 证书登录#!/usr/bin/expect -f set password "123456" set timeout -1 spawn ssh -i /Users/user/Cert/id_rsa user@xxx.xxx.xxx.xx -p 3002
野猪佩奇 2021-05-06 运维 887
简介 Nodemailer 是一个简单易用的 Node.JS 邮件发送模块(通过 SMTP,sendmail,或者 Amazon SES),支持 unicode,你可以使用任何你喜欢的字符集。 安装 npm install nodemailer --save 代码示例: const nodemailer = require('nodemailer'); const config = { smtp: { host: "smtp.163.com", username: "123123123@163.com", password: "123123123" } };
野猪佩奇 2021-05-06 Node.js 1186
常用的Node.js图片处理模块,有node-image、sharp和jimp。node-image很轻量,但是处理gif有点问题,更新还有点慢了。sharp跨操作系统部署的时,常常还需要编译一下。所以,jimp也是一个很好的选择。介绍:An image processing library for Node written entirely in JavaScript, with zero native dependencies.看这个官方介绍也说了,完全使用Node写的的库,无原生依赖。 支持图片类型bmp、gif、jpeg、png和tiff。安装:npm install --save j
野猪佩奇 2021-05-05 Node.js 2816
随机推荐
JavaScript 操作表单
JavaScript 表单事件
Node.js url 模块
CSS 媒体特性 prefers-color-scheme
Web 自定义组件
Node.js MySQL2 如何编写事务
JavaScript document 对象
JavaScript 自定义属性 dataset