首页
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
抖音无水印
小米步数
Excel比对
网站seo优化
网站监测器
文章伪原创
前端配色表
多编码转换
JSON解析
IP属地查询
IP端口扫描
在线测速网
在线集五福
精美壁纸
采集图片
蜜语星球
CF图标点亮
查QQ群数量
QQ邮箱
取QQSkey
取百度key
取微博key
Search
1
教你如何把Waves效果器完整的卸载干净
2,465 阅读
2
123云盘直链带密码解析源码
1,044 阅读
3
2023新版QQ工具箱全开源
793 阅读
4
2023新版API接口管理系统v1.3全开源
760 阅读
5
个人新拟态主页UI5.0全开源
577 阅读
技术文章
程序代码
实用软件
声卡效果
登录
/
注册
Search
标签搜索
咔咔云
PHP
技术文章
PHP代码
API
QQ技术
网站程序
绿色软件
易语言源码
网络攻防
图床源码
授权程序
网站优化
声卡效果
SEO优化
计算机常识
Windows
GitHub
typecho
网站美化
咔咔云
技术交流群
累计撰写
53
篇文章
累计收到
1
条评论
首页
栏目
技术文章
程序代码
实用软件
声卡效果
页面
时间轴
统计
壁纸
留言
友邻
关于
推荐
每日新闻
网易云音乐
抖音无水印
小米步数
Excel比对
网站seo优化
网站监测器
文章伪原创
前端配色表
多编码转换
JSON解析
IP属地查询
IP端口扫描
在线测速网
在线集五福
精美壁纸
采集图片
蜜语星球
CF图标点亮
查QQ群数量
QQ邮箱
取QQSkey
取百度key
取微博key
用户登录
登录
注册
搜索到
17
篇与
的结果
2022-10-29
什么是SSL自签名证书
一、概念1.1、TLS传输层安全协议Transport Layer Security作为SSL协议的继承者,成为下一代网络安全性和数据完整性安全协议。1.2、SSL安全套接字层Secure Socket Layer位于TCP/IP中的网络传输层,作为网络通讯提供安全以及数据完整性的一种安全协议。1.3、HTTPSHTTP+SSL(secure socket layer)/TLS(Transport Layer Security)协议,HTTPS协议为数字证书提供了最佳的应用环境。1.4、OpenSSL相当于SSL的一个实现,如果把SSL规范看成OO中的接口,那么OpenSSL则认为是接口的实现。接口规范本身是安全没问题的,但是具体实现可能会有不完善的地方,比如之前的"心脏出血"漏洞,就是OpenSSL中的一个bug.1.5、CA数字证书颁发认证机构Certification authority包含多种密码学算法:消息摘要算法:MD5、和SHA(对数字证书本省做摘要处理,用于验证数据完整性服务器) 对称加密算法:RC2、RC4、IDEA、DES、AES(对数据进行加密/解密操作,用于保证数据保密性服务) 非对称加密算法:RSA、DH(对数据进行加密/解密操作,用于保证数据保密性服务) 数字签名算法:RSA、DSA(对数据进行签名/验证操作,保证数据的完整性和抗否认性)。1.6、KEY通常指私钥1.7、CSRCertificate Signing Request的缩写,即证书签名请求,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。1.8、CRTcertificate的缩写,即证书。1.9、X.509一种证书格式.对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509的证书文件,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN…"开头, "-----END…"结尾,内容是BASE64编码. Apache和*NIX服务器偏向于使用这种编码格式. DER - Distinguished Encoding Rules,打开看是二进制格式,不可读.Java和Windows服务器偏向于使用这种编码格式二、证书签发过程这里使用证书工具OpenSSL: Win64OpenSSL_Light-3_0_0.exe安装后进入安装bin目录,进入命令行操作(或者配置环境变量进行命令行操作) 2.1、证书申请流程2.2、申请者准备csr、key生成key:openssl genrsa -out D:\keys\cloudweb.key 4096生成csr:openssl req -new -sha256 -out D:\keys\cloudweb.csr -key D:\keys\cloudweb.key -config ssl.conf 其中包含配置文件ssl.conf:[ req ] default_bits = 4096 distinguished_name = req_distinguished_name req_extensions = req_ext [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_default = cn stateOrProvinceName = State or Province Name (full name) stateOrProvinceName_default = sc localityName = Locality Name (eg, city) localityName_default = cd organizationName = Organization Name (eg, company) organizationName_default = my organizationalUnitName = Organizational Unit Name (eg, section) organizationalUnitName_default = as commonName = Common Name (e.g. server FQDN or YOUR name) commonName_max = 64 commonName_default = www.baidu.com [ req_ext ] subjectAltName = @alt_names [alt_names] IP.1 = 192.168.11.112 DNS.1 = www.baidu.com DNS.2 = map.baidu.com查看csr:openssl req -text -noout -verify -in D:\keys\cloudweb.csr 2.3、CA机构为申请者生成crtCA机构得到申请者csr和相关申请、线上线下验证申请者信息,为申请者制作证书。证书中签名:使用申请者公开信息计算得到摘要,并使用CA的私钥进行加密得到签名。生成crt:openssl x509 -req -days 3650 -in D:\keys\cloudweb.csr -signkey D:\keys\cagroup.key -out D:\keys\cloudweb.crt -extensions req_ext -extfile cassl.conf特别说明:如果cagroup.key就是cloudweb.key,cassl.conf就是ssl.conf,那么此时就是自己给自己签发证书,即自签名证书。查看crt:openssl x509 -in D:\keys\cloudweb.crt -text -noout {collapse}{collapse-item label="注意事项:" close}1.申请证书不需要提供私钥,确保私钥永远只能服务器掌握2.证书=公钥+申请者与颁发者信息+签名{/collapse-item}{/collapse}三、HTTPS请求3.1、单向证书过程3.2、nginx服务器配置1.服务器需要安装SSL模块./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modulemake2.nginx.conf配置文件中修改如下:server { listen 443 ssl; server_name www.kkjsz.cn; #需要访问的域名,不用加https ssl on; ssl_certificate D://keys//kkjsz.crt; #这里是ssl crt文件存放的绝对路径 ssl_certificate_key D://keys//kkjsz.key; #这里是ssl key文件存放的绝对路径 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://192.168.6.45:8343/; #跳转路径 } } server { listen 80; server_name www.kkjsz.cn; rewrite ^(.*)$ https://$host$1 permanent; } 3.3、Tomcat服务器配置修改server.xml文件,Service节点下添加:<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="true" sslProtocol="TLS" keystoreFile="D:\keys\kkjsz.crt" truststoreFile="D:\keys\kkjsz.keystore" truststorePass="jsonkk@123" />{collapse}{collapse-item label="属性说明:" close}clientAuth:设置是否双向验证,默认为false,设置为true代表双向验证keystoreFile:服务器证书文件路径truststoreFile:用来验证客户端证书的根证书,此例中就是服务器证书truststorePass:根证书密码{/collapse-item}{/collapse}最后:要访问https请求 需要访问8443端口,访问http请求则访问Tomcat默认端口(你自己设置的端口,默认8080)即可。3.4、浏览器安装CA证书如果是公认的CA机构,那么浏览器一般已经安装好了证书。如果是自签名证书,需要自己手动安装CA证书到受信任的根证书颁发机构。安装步骤如下: 之前咔咔云站长也给大家分享过 《ssl证书自签PHP源码》 ,大家可以去看看。
2022年10月29日
278 阅读
0 评论
0 点赞
2022-06-05
如何选择一款适合自己的声卡
前言本篇文章只是单纯的表达咔咔云站长个人的观点,本人13年从事音频行业至今,也算是一名老玩家了,这里咔咔云尽可能的客观地谈一下个人对声卡选择的看法。其实这些东西每个人的观点都不一样的,这和每个人在实际使用中遇到的情况不同影响很大,比如咔咔云使用某某品牌的声卡刚好遇到过几次不愉快的问题,那么在我的心里对这个品牌肯定没什么好感。反之,如果我长期使用中一直很稳定,没出现过任何问题,那么我就会认为这个品牌的产品做的可以。如果有100个人使用,95个人说好,那就是好,不带有统计意义的个人评价,参考意义不大。由于声卡各种品牌,类型比较复杂,我已尽可能的划分大类,能说的清晰一点,怕如果讲的太混,萌新看完会更加迷糊。 一、外置声卡1.娱乐外置声卡:简单描述就是天生给直播或网络K歌的人使用的,专业录音基本上连考虑都不会考虑的。①以客所思为代表的那一类声卡(像客所思、ISK、金麦克、晟铭、北蓝鼠、麦甜等,还有很多我也没听说过的,但都是一样类型的),这种声卡很多人都看不上,还有一种言论,这种声卡并不能称之为声卡,只能叫为娱乐而生的玩具。那么我个人给的选购建议是,只是非常单纯的娱乐玩玩,也不做主播,也不想花太多钱,那么也是可以选的,娱乐用途还谈不上音质那一步,最主要还是看经济能力说话。②支持ASIO并且天生也是为娱乐而生的(艾肯,ESI,midiplus,跳羚等,还有一些冷门的),这一类声卡界线并不是很明确,比如ESI,早期的经典也是很多专业录音人使用的,另外从品牌自身来说,他们都说自己的是专业录音卡,但是从我个人的角度看,客户认可才算,100个人买录音卡,选择你的不超过5个人,你自己说是录音卡,那不是自欺欺人吗?这种声卡在我个人的眼中,是同一个档次的,和朋友交流中也是观点不同,它相之前的差距也是很小的,具体的还是根据网上的参考评价自己选择吧。2.硬件DSP效果类声卡在这里抛开像早期的客所思KX2那一类免驱声卡,同时现在所有的手机直播声卡,也是属于纯硬件DSP效果,之所以单独写出来这个分类,主要是想到雅马哈的AG03、AG06,还有一款艾肯UPOD NANO PRO,艾肯中唯一一款不支持ASIO的声卡,也是最便宜的一款,这类声卡中,如果确实有需要,就在AG03 AG06中选吧,其他的也不多说什么了。3.录音外置声卡好像没有一个是国内的品牌,国内的品牌都是近几年才出来的,并且还是为了娱乐直播行业而出的,这里我把艾肯、ESI也算作国产品牌吧。①支持娱乐并且功能完善的,RME是我所知道的最完美的,其他的也有不是太完美但是通过一定的方法也可以实现娱乐功能的(比如UR242通过加单独话放,ID22通过光纤硬件跳线,还有其他的一些),针对这种情况,每个人的价值观是不一样的,也和实际使用用途有关,如果你一大半时间都是娱乐直播,那就用娱乐声卡,如果以录音为主偶尔娱乐,或者是各占一半,那我建议买一款录音卡,具有兼顾娱乐功能的,经济能力可以的话直接用RME最完美.②不支持娱乐的纯录音卡,录音卡中大部分都是这一类,在各个价格区间中都有,这种声卡如果想娱乐,目前有效的有三种方法:asiolinkpro、wdm2vst、国内团队自主开发的机架。我简单说一下前两种吧,这2个软件都是Odeus公司制作的,并且已经倒闭停更了,目前在使用上基本上没有什么太大的问题,asiolinkpro这个方法不支持雅马哈声卡的新版驱动。这两种方法在使用稳定性上都差不多,asiolinkpro是外挂跳线软件,功能上更加灵活完整,wdm2vst是使用的插件形式,通过在机架宿主中添加插件从而把声音引入/引出机架,各有优缺点。第三种方法由于是国内团队开发的,稳定性和使用体验上我没有用过,这里咔咔云就不评论了。二、内置声卡1.PCI接口声卡因为现在的电脑主板基本上都取消了PCI接口,可能也是这个原因吧,早期比较火的PCI内置声卡现在都已经停产了,个人建议PCI接口声卡可以不用考虑了,除非有个人信仰或者有短时间使用需求,可以去淘二手,或者是前些年流行的创新声卡。不多讲什么了,我个人对创新声卡还是很有情怀的。咔咔云手里还有一块正版真品创新7.1的卡,想要的朋友联系我,免费送了。2.PCI-E接口声卡PCI-E接口的声卡普遍都要比PCI稍贵一些,我也不知道是什么原因,如果确实不喜欢外置,想要内置的,就可以在这里面选了,创新的也有,ESI的也有两三款吧,内置声卡不是主流,本身销量也不行,也没几个产品可选。总结1.有些地方可能界线不是太明确,我只能是以我个人的观点分类,符合大多数人的观点认同,有一些感觉不是太明白的可以联系我本人交流,QQ:79087446 2.内置声卡和外置声卡,没有什么好坏之分,只是接口不同,应该从其他方面对比3.选声卡还应该根据自己的实际需要,选择有对应接品的,或者是接口多少够用的等,还有其他一些因素4.选声卡,不建议选那些信仰产品,虽然它很好,但是停产的东西,驱动停更,很有可能以后变成废铁一个5.我个人有一个观点,就是能选录音卡,尽量不要选娱乐卡,主要的依据就是基本上录音卡的驱动都要远远好于娱乐卡,声卡的好坏,驱动占很大一部分,就算是娱乐卡在硬件用料上要好于录音卡,我还是建议选录音卡。6.声卡的选购并不能影响你直播或K歌的效果,针对大众娱乐来讲,声卡对效果的影响几乎为0(严格说最多不超过10%),但是它就像电脑组装的主板一样,是整个设备系统的平台。最典型的例子就是前几年YY上面的文儿,使用创新7.1+纽曼U87,都称为神搭配。7.买声卡也不一定非要追求数据、品质,根据自己的经济预算和实际用途才是最好的。另:咔咔云站长QQ:79087446承接声卡调试业务,网络K歌音频设备出售,需要的朋友联系即可,收藏本站享折扣哦~
2022年06月05日
350 阅读
0 评论
0 点赞
2022-06-04
利用一段简单的代码绕过PHP授权限制
如今很多程序都需要正版授权验证才能使用,这导致很多想白嫖的朋友望而止步,今天咔咔云站长给大家分享一个简单的绕过授权的教程,理论上万能通用。1.首先你需要修改全局文件例如,全局文件是common.php,要将它修改为core.php(随意定义文件名)2.创建文件创建一个文件,和改名前的全局文件(即是common.php)名称一样,然后把以下代码复制进去即可<?php session_start(); $_SESSION['authcode']=true; include './core.php'; ?>
2022年06月04日
227 阅读
0 评论
0 点赞
2022-06-04
ajax异步提交的使用方法
AjaxAjax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。因为咔咔云最近在写程序的时候要实现后台发送邮件的功能,所以了解到Ajax异步调用,这里记录一下ajax的使用方法吧。 示例演示$.ajax({ type: "POST", url: "register.php", data: "name=John&location=Boston", success: function (msg) { alert("Data Saved: " + msg); } });首先我们对上面这一串代码进行解读:{card-describe title="参数解析"}type:”POST”,是提交的类型url:”register.PHP”,是提交的方向,我是提交给register.php进行处理data:”name=Jhon&&location=Boston”,这个是我们提交的数据,Jhon和Boston就是我们提交上去的数据success:function(msg){},msg是提交成功之后返回对数据{/card-describe}后台怎样写来获取这些数据:<?php //首先是获取到了数据 $username = $_POST['name']; $password = $_POST['location']; echo $password;很清晰看到的是:{card-describe title="参数解析"}$_POST[“name”];就是获取都的Jhon$_POST[‘location’]就是获得的Boston我们后台返回的数据,也就是echo出来的数据,就是Boston。注意:使用ajax需要用到的是jQuery!{/card-describe}
2022年06月04日
188 阅读
0 评论
0 点赞
2022-05-14
关于前端缓存的释义
前端缓存前端缓存可分为两大类:http缓存和浏览器缓存。今天咔咔云站长给大家简单讲解下这两种缓存。下面这张图是前端缓存的一个大致知识点: 一.HTTP缓存策略分为两种:强缓存和协商缓存,这两种缓存策略都是服务端设置HTTP Header来实现的。1.强缓存强缓存的意思很简单,直接从浏览器缓存过的本地进行读取,不会去请求服务器。例如请求一个图片,当缓存后,第二次访问,直接从本地去拿,不会再去请求这个资源,可以节省服务器资源。可以通过三种方式来设置强缓存①.Expires:服务端在响应头中设置一个 GMT 格式的到期时间。客户端的本地时间小于响应头的 Expires 时间,那么会从本地进行读取,不会去请求服务器。如果超过了,那么就去请求服务器去获取最新资源。但是就是因为根据本地时间进行判断,本地时间可以随便修改,所以这种缓存机制有漏洞,会与服务端时间有偏差,为了解决这个问题,就出现了下面的 Cache-contorl②.Cache-control:它和Expires不一样,Expires是直接设置一个时间戳就行了,而Cache-control可以设置下面这几种属性:{card-describe title="Cache-control属性"}max-age:这个用于设置一个滑动时间,例如设置max-age=30表示客户端时间向后滑动30秒,在这30秒内都是强缓存,不会去请求服务器s-maxage:这个和上面的一样,只不过这个设置的是代理服务器的缓存时间privte:这个表示缓存只能被客户端的浏览器缓存,不能被代理服务器缓存public:这个表示缓存既可以被浏览器缓存,也可以被代理服务器缓存no-store:这个属性表示不缓存,在任何情况下,都是与服务器进行最新的交互no-cache:这个并非不缓存的意思,这个表示强制进行协商缓存,会在下面描述{/card-describe}2.协商缓存协商缓存表示在使用本地的缓存之前,会先向服务器发一个请求,与服务器协商当前浏览器的缓存是否已经过期了,如果没过期,那么就使用本地的资源,如果过期了就去请求最新资源。协商缓存主要是解决强缓存资源不能及时更新的问题,协商缓存服务端可以通过2种设置来实现:第一种:last-modified 配合 If-Modified-Since例如,客户端请求一个 03.jpg,服务端接收到这个请求后,会读取这个文件的最后修改时间,然后设置到响应头中,设置的参数就是 last-modified,参数值是文件最后修改的时间戳。客户端第二次请求 03.jpg 这个文件的时候,会带上一个 If-Modified-Since 参数,服务端能拿到这个参数与last-modified进行比对,如果一致,那么就返回304状态,否则就去请求最新的文件,使用nodejs实现这个代码:(注意协商缓存需要设置Cache-Control为no-cache,表示设置成协商缓存)... // 判断客户端请求的是03这个图片 if(pathname === '/img/03.jpg') { // 读取 03 图片的最后修改时间 const { mtime } = fs.statSync("./img/03.jpg") // 判断客户端发送过来的if-modified-since是否与mtime一致,如果一致就直接返回304 if(req.headers['if-modified-since'] === mtime.toUTCString()) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("last-modified", mtime.toUTCString()) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...上面的last-modified配合If-Modified-Since在使用时有些弊端,例如将03.jpg修改成04.jpg,再改回03.jpg。此时这个文件其实是没有变化的,但是最后修改时间更改了,因此客户端就需要重新请求,因此就出现了下面的第二种使用Etag的方式第二种:Etag 配合 If-None-MatchEtag实现的方式服务端是为文件生成一个指纹,类似于MD5字符串。接着响应头中塞进 Etag 参数,参数的值就是计算出的字符串,客户端接收到后,第二次请求会带上一个 If-None-Match 的参数,接着服务端和上面第一种方式一样进行比对,nodejs的实现代码如下:// 引入 etag 模块 const etag = reqiure("etag") ... if(pathname === '/img/03.jpg') { const data = fs.readFileSync("./img/03.jpg") // 获取生成的etag字符串 const etag = etag(data) // 判断客户端发送的 If-None-Match 与服务端是否一致 if(req.headers['if-none-match'] === etag) { res.statusCode = 304 res.end() } else { // 如果不一致,那么就请求最新的资源返回给客户端 const data = fs.readFileSync("./img/03.jpg") // 这2句代码是设置协商缓存 res.setHeader("etag", etag) res.setHeader("Cache-Control", "no-cache") res.end(data) } } ...二.浏览器缓存其定义是为了节约网络的资源加速浏览,浏览器在用户磁盘上对最近请求过的文档进行存储,当访问者再次请求这个页面时,浏览器就可以从本地磁盘显示文档,这样就可以加速页面的阅览。浏览器缓存主要有两类:缓存协商:Last-modified ,Etag 和彻底缓存:cache-control,Expires。
2022年05月14日
205 阅读
0 评论
0 点赞
1
2
3
首页
复制
搜索
前进
后退
重载网页
SEO优化
关于站长