- 博客(50)
- 资源 (38)
- 收藏
- 关注
原创 使用docker部署免费证书申请系统acmex
从下载最新的release以alpine为例,使用alpine镜像运行acmex。下载发行版acmex-linux-musl-x64.zip。
2024-12-30 16:00:32
220
原创 生成自签名S/MIME证书
S/MIME证书允许为邮件进行数字签名和加密,这样可以证明邮件的来源而不是由假冒的人所发送,而且确保你指定的收件人才能打开加密邮件。
2024-12-11 10:46:20
441
原创 如何使用程序查询域名whois信息?(带PHP/C#示例)
直接使用TCP协议向WHOIS服务器的43端口发送查询请求即可返回WHOIS信息。一些国际域名(.COM/.NET/.CC等)需要继续向各注册商的WHOIS服务服务发送查询请求来获取详细信息。大部分New gTLD来说,服务器是“”,例如.red的WHOIS服务器为。
2024-12-11 10:15:29
543
1
原创 C#生成CSR(CertificateSigningRequest)和密钥
使用C#原生生成CSR(CertificateSigningRequest)和密钥。
2024-12-05 15:58:14
500
原创 基于ACMEv2的免费SSL证书管理系统(带WebUI)
带webui的免费SSL证书管理工具,私有部署,内置let's encypt/google/zerossl,内置 阿里云/腾讯云/Cloudflare/DNS.COM/DNS.LA/百度云 DNS解析接口,支持自定义DNS解析接口,支持FTP/SSH/宝塔/IIS一键部署。
2024-11-07 15:55:13
785
原创 为什么SSH协议是安全的?
SSH的传输层协议(Transport Layer Protocol)和用户鉴权协议(Authentication Protocol)确保数据的传输安全,传输层协议是SSH协议的基础。
2024-10-16 10:37:38
700
原创 overfrp内网穿透:使用域名将内网http/https服务暴露到公网
使用overfrp部署穿透服务器,绑定域名后,可使用域名访问内网的http/https服务。
2024-10-11 17:44:17
1231
原创 PHP实现TOTP: Time-Based One-Time Password Algorithm
项目地址:https://github.com/cook-code-jazor/totp-phpRFC文档: TOTP: Time-Based One-Time Password Algorithm快速调用默认为30秒步长,6个数字的验证码,使用SHA1算法。
2024-10-11 11:46:31
684
原创 Nodejs和C#使用ECDH算法交换秘钥
nodejs的ECDH算法在进行computeSecret的时候不会自动进行HASH运算,但C#的ECDH算法必须指定HASH算法。
2024-10-10 11:49:52
686
原创 浏览器端纯JS利用crypto.subtle接口生成自签名SSL证书
使用现代浏览器的crypto.subtle接口,在浏览器端使用JS生成自签名证书,无网络请求,降低私钥暴露风险。
2024-09-23 15:53:34
373
原创 浏览器端纯JS利用crypto.subtle接口生成密钥对和CSR(证书签名请求)
纯浏览器端生成CSR和密钥对,使用指定算法和参数生成证书签发请求(CSR),至少要提供subject,可提供subjectAltNames。使用指定的算法和参数,生成非对称加密密钥对。
2024-09-20 16:04:08
482
原创 PHP使用ltrim、rtrim以及trim处理中文时遇到的“坑”
发现经过rtrim处理的字符串无法入库,检查后发现数据库有报错信息。问题主要来源是PHP这几个方法是二进制安全的,开发中没有意识到处理多字节编码的字符会出现问题。
2021-09-18 09:50:53
1335
原创 C#实现WebSocket服务器:(05)实现聊天室-前端部分
这两篇文章主要是对我们前面对WebSocket协议的实现,通过自定义payload内容实现一个简单的聊天室。可以实现多聊天室、聊天室切换功能,后端代码都实现了,只是我们前端没去实现。
2021-09-16 23:02:17
2707
原创 C#实现WebSocket服务器:(04)实现聊天室-协议和后端部分
从后台到前端,实现一个简单的聊天室,实现效果:`用户登录`、`发送消息`、`接收消息`、`用户离开`。大部分逻辑是基于Text消息类型,将具体的消息封装成`JSON`字符串在客户端和服务器间传送。
2021-09-16 22:13:32
987
原创 C#完成端口IOCP:(02) 封装NetworkStream支持IOCP操作
实现一个继承NetworkStream的类,重写NetworkStream的BeginRead和BeginWrite方法,实现IOCP操作。
2021-09-13 17:50:50
1920
原创 C#完成端口IOCP:(01)SocketAsyncEventArgs封装
重写SocketAsyncEventArgs,实现ReadAsync和WriteAsync以及SocketAsyncEventArgs的复用。重写的SocketAsyncEventArgs没有太多逻辑,就是把SocketAsyncEventArgs的事件改成了回调,内部还是调用Socket的对应方法。
2021-09-13 17:14:13
1234
1
原创 C#实现WebSocket服务器:(03)消息收发的封装
前文我们实现了WebSocket消息的读取和发送:C#实现WebSocket服务器:(02)消息帧分析和代码实现但是我们所有的逻辑都是写在OnWebSocket方法的,并不方便扩展,现在我们封装一个Messager抽象类,封装消息的读取和发送。Messager类封装我们将在类中暴露一些必要的方法。下面我们用消息这个词,而不是帧,因为一条消息可能是由多个帧(例如Text帧+N个Continuation帧)组成的。方法说明Accept在OnWebSocket方法中,调用具体Mes
2021-09-11 15:40:36
6760
原创 C#实现WebSocket服务器:(02)消息帧分析和代码实现
前文我们介绍了WebSocket的握手:C#实现WebSocket服务器:(01)握手握手完成后,即可客户端和服务端双方即可进行消息的收发。WebSocket消息的收发是以帧为单位的。0、WebSocket的帧帧类型Op常用帧类型有以下六种:值类型说明0x00Continuation后续帧,当一个帧是非结束帧的时候,后续帧会被标记为Continuation,应用程序需要一直读下一个帧,直到读到结束帧。0x01Text数据帧:文本,说明帧的Payload为文本经
2021-09-10 16:01:19
2828
原创 C#实现WebSocket服务器:(01)握手
WebSocket的握手是基于HTTP的,HTTP请求的Connection标头值为Upgrade,Upgrade标头的值为websocket,即表示当前请求为WebSocket握手请求。
2021-09-09 17:06:57
1635
原创 C#实现HTTP服务器:(10)处理文件上传
主要实现对HTTP文件上传的协议分析、请求实体编码分析和请求实体的解析,同时把文件保存到临时目录。
2021-09-09 14:36:06
4871
原创 C#实现HTTP服务器:(9)在一个Socket连接内处理多个HTTP请求
前面的文章,我们处理请求都是在一个连接上的,请求处理完,就关闭Stream,同时关闭了底层的Socket。如果一个网页包含的资源比较多,总共可能会需要发起几十上百个Socket连接,造成不必要的网络消耗(TCP的握手、挥手)。同时,浏览器都一个网站发起的连接数是有限制的,所以会导致页面资源加载缓慢的问题。我们来一步步解决这个问问,使一个连接可以处理多个请求。......
2021-09-06 17:52:29
2794
原创 C#实现HTTP服务器:(8)解析查询参数和HTTP请求实体
HTTP请求实体的界定:Content-Length、Transfer-Encoding。通过实现一个读取请求实体的Stream来读取整个实体,然后转换成指定编码的文本,再进行解析。
2021-09-06 11:15:24
2543
3
原创 C#实现HTTP服务器:(7)使用缓冲区优化对HTTP请求头的解析
实现一个继承NetworkStream的类BufferedNetworkStream,重写NetworkStream的Read和ReadByte方法,在我们重写的类中,使用一个大的缓冲区来存储数据,供下游应用使用,不再频繁调用基础设施的读取方法
2021-09-04 22:14:36
1062
原创 C#实现HTTP服务器:(5)压缩传输(GZip,Deflate)
在传输数据的基础上,我们再对数据进行压缩,C#有对这两种压缩算法的实现。即位于`System.IO.Compression`命名空间下的`GZipStream`和`DeflateStream`。这里只讲怎样使用Gzip压缩数据,分别用`Content-Length`和`Transfer-Encoding`两种传输方式实现。
2021-09-03 21:19:30
3048
原创 C#实现HTTP服务器:(4)使用Transfer-Encoding标头向客户端发送响应
基于前面封装的响应应答器,尝试使用Chunked方式,向浏览器发送响应。
2021-09-03 17:51:26
1230
原创 C#实现HTTP服务器:(3)封装用于响应请求的应答器
为了方便后续处理各种HTTP响应,封装一个简单的应答器,作为各种响应类型的父类。应答器内部会自动生成HttpResponse,并暴露出HttpResponse和一些常用的接口。
2021-09-03 17:30:29
1448
MoAspEnginer1.14(用于ASP的MVC框架)
2013-11-18
艾恩Ajax无刷新上传(ASP)最简单的调用方法
2009-10-29
艾恩ASP无组件上传类v9.9.9
2009-09-22
艾恩Ajax无刷新文件上传(带进度条,组件版,低CPU使用)
2009-02-10
艾恩Ajax无刷新文件上传(带进度条,无组件)
2009-02-10
jQuery中文参考手册(附jquery1.26)
2008-10-29
艾恩ASP无组件上传简单 示例
2008-09-01
Asp文件上传/管理(无惧上传类)
2008-03-12
.net framework2.0+langpack
2007-04-25
自己写的查找程序图标的程序(VB.NET)
2007-04-25
winsock注册方法
2007-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人