.NETCoreWebApi接口ip限流实践 前言 之前一直想实现接口限流,但一直没去实现,然后刚好看到一篇文章是基于AspNetCoreRateLimit组件的限流策略。这个组件不做多的介绍,想了解详情可以去访问官方网址或者原文地址,地址在文章底部,本文只讲实现。 实现接口限流步骤 导包 第一步配置服务 由于需要再appsettings.json中去读取数据,所以需要在Program.cs配置文件中配置服务 builder.Services.AddOptions(); 第二步写一个扩展方法注册RateLimit相关服务 usingStackExchange.Redis; usingAsp...

  g6De1cLJtsdy   2023年11月02日   88   0   0 .NET

基于.NETCore+Jquery实现文件断点分片上传 前言 该项目是基于.NETCore和Jquery实现的文件分片上传,没有经过测试,因为博主没有那么大的文件去测试,目前上传2G左右的文件是没有问题的。 使用到的技术 Redis缓存技术 Jqueryajax请求技术 为什么要用到Redis,文章后面再说,先留个悬念。 页面截图 NuGet包 Microsoft.Extensions.Caching.StackExchangeRedis Zack.ASPNETCore杨中科封装的操作Redis包 分片上传是如何进行的? 在实现代码的时候,我们需要了解文件为什么要分片上传,我直接上传...

  g6De1cLJtsdy   2023年11月02日   60   0   0 .NET

前言 之前通过github学习了一个.netcore的博客项目,最近也是完成了博客的备案,完善了一下。该项目是传统的MVC项目,可以进行主题的切换,采用Bootstrap进行前台页面的展示,有配套的后台管理系统,可以解析Markdown文件。 参观地址 ZY知识库可以将个人的意见评论到该文章,我可以采纳采纳。 采用技术 后端:.NETCore ORM:EFCore 数据库:之前采用mysql,如今是SQLite 项目截图(部分) 项目开源地址 gitee后端地址 GItHub后端地址 原作者开源地址 配套Vue3后台管理系统 Vue后台管理gitee地址 Vue后台管理GitHub地...

  g6De1cLJtsdy   2023年11月02日   71   0   0 .NET

记录Docker的-v指令使用 前言 之前我浅学了一下docker,方便部署.net项目(部署的是打包之后的项目) dockerfile文件如下: FROMmcr.microsoft.com/dotnet/aspnet:6.0ASbase WORKDIR/app EXPOSE5031 EXPOSE7031 FROMmcr.microsoft.com/dotnet/sdk:6.0ASbuild WORKDIR/src COPY.. ENTRYPOINT["dotnet","Personalblog.dll"] 然后下载镜像,创建容器,都是使用的如下命令: dockerbuild-tapp...

  g6De1cLJtsdy   2023年11月02日   56   0   0 .NET

重要声明-针对攻击者 网站pljzy.top被某人攻击 ZY知识库 首先 说我网站抄袭,文章抄袭,ok,你列举一下我有那几篇文章是抄的别人的?自己眼睛不看的是吧,但凡我参考的别人的文章我都会放原文地址。 先放几张图片,真搞不懂我抄谁了,下面全是我自己电脑的md文件,我抄谁的了?全是我自己做的笔记。 其次说我网站抄袭,原作者都没说话,轮到你说了吗?这个博客本来就是开源项目/开源项目/开源项目!!!!懂了吗?就算我部署几百个也不关你的事。还有我的开源地址中声明了原作者的地址,同时也征求了原作者的同意。你凭什么说我抄袭? 罪证 以下图片为你刷的评论,在这装清高要我少抄点文章,笑yue了。你但凡...

  g6De1cLJtsdy   2023年11月02日   43   0   0 .NET

AspNetCoreRateLimit应用于MVC项目求助 前言 之前发过一篇文章: .NETCoreWebApi接口ip限流实践妙妙屋(zy)博客园(cnblogs.com) 然后应用在前后端分离项目这个组件是非常好用的。但应用于不分离的项目,比如我的个人博客就有点麻烦。 就是我的需求是评论接口限流,然后触发限流后要回到文章页面告诉用户你触发了限流,但是,使用这个组件,他会将返回信息以页面的形式返回给你,我并不知道该如何去让他回到文章页面,也是琢磨了很久,用中间件去实现了这个效果,但是感觉不是很理想,如果有大佬知道更好的办法,可以私信或评论,感激不尽。 实现的效果图 评论接口 文章接口 ...

  g6De1cLJtsdy   2023年11月02日   47   0   0 .NET

还在愁个人博客没有图片放?🥱 前言 之前将爬取的图片下载后,我也是放到我了我的博客上面 ZY知识库·ZYHomePage(pljzy.top) 然后顺便写了一个随机返回图片的接口,现在我就来说一下如何使用这个接口,以便在自己的博客上使用。 接口文档 不指定高度和宽度 指定高度宽度 结尾 就2个接口,也是很简单,目前这个项目有3000张图片,用在博客上肯定是够的。但是因为还有做授权,所以地址被我打码了,为什么打码,怕有人刷网站流量。如果你有自己的博客,然后刚好没有图片可以用,可以评论或者私信我,我把接口地址发给你,免费!免费!免费!等之后做授权了我也会公开这个接口地址

  g6De1cLJtsdy   2023年11月02日   65   0   0 .NET

图片接口JWT鉴权实现 前言 之前做了个返回图片链接的接口,然后没做授权,然后今天键盘到了,也是用JWT来做接口的权限控制。然后JTW网上已经有很多文章来说怎么用了,这里就不做多的解释了,如果不懂的可以参考下列链接的文章。 图片接口文章:还在愁个人博客没有图片放? JTW参考: 画星星博客身份认证入门 🤩我的新键盘🤩 接口展示 未授权访问接口 可以看到,如果请求的时候没有带上Authorization:Bearer<token>就会报401错误,当然错误信息是通过中间件修改的,下列简单的几行代码就能自己去修改错误信息: 中间件 publicclassUnauthorized...

  g6De1cLJtsdy   2023年11月02日   59   0   0 .NET

通过图片流来返回图片 前言 之前写了个图片接口,然后做了个授权,但是光返回图片地址虽然能适应大部分需求,但是考虑到有些人不想去处理返回值,也是做了个直接返回图片流的接口。 接口展示 返回指定宽度和高度图片流 直接返回原图 接口实现 Service层 如何返回图片流给前端呢,首先写个Service层,创建GetOriginalDrawingAsync方法: imagePath为图片存储的路径,代码太多了,这里就不做多的解释了,至于图片路径怎么传都行,只要是能访问到的路径就行。 publicasyncTask<(Image,IImageFormat)>GetOriginalDraw...

  g6De1cLJtsdy   2023年11月02日   35   0   0 .NET

ZY知识库留言板功能实现 前言 因为这个博客是用的大佬的开源项目,我也是用自己的想法改了很多东西,虽然可能写的不是很好,但是我自己想要的效果实现了,开源项目不就是用来学习的嘛,所以不能一层不变,之前首页改版、评论功能我都没有写文章,这次抽空更新了留言板功能,来水一篇文章。 留言板地址:ZY知识库·ZY留言板(pljzy.top) 留言类和回复类 首先我创建了如下2个类,类型无非就是int、string、DateTime,这里就不做多的解释了 留言类 字段名 解释 Id 主键 Name 留言者昵称 Email 留言者邮箱 Message 留言内容 Created 留...

  g6De1cLJtsdy   2023年11月02日   60   0   0 .NET

.NET项目中使用HtmlSanitizer防止XSS攻击 前言 最近博客也是上线了留言板功能,但是没有做审核(太懒了),然后在留言的时候可以输入<script>alert('xss')</script>标签去让网站弹出提示信息、跳转网页等,这类攻击也被称为XSS攻击。 XSS攻击 XSS攻击(跨站脚本攻击)是一种常见的网络安全漏洞,攻击者通过在网页中注入恶意脚本,使得用户在访问该网页时,恶意脚本被执行,从而导致用户信息泄露、账户被盗等安全问题。XSS攻击一般分为存储型和反射型两种,存储型XSS攻击是将恶意脚本存储在服务器上,当用户访问受害页面时,恶意脚本被执行;反射型...

  g6De1cLJtsdy   2023年11月02日   91   0   0 .NET

.NET文件上传服务设计 前言 在b站学习了一个后端小项目,然后发现这个文件上传设计还挺不错,来实现讲解一下。 项目结构如下: 基于策略+工厂模式实现文件上传服务 枚举 在Model层创建即可 publicenumUploadMode { Local=1,//本地上传 Qiniu=2//七牛云上传 } 第一步:创建文件策略和工厂 在Service层中创建FileStrategy文件夹,在该文件夹下分别创建Strategy、QiNiuStrategy、LocalStrategy、FileFactory、FileContext 类 Strategy文件操作抽象类 ///<summary&...

  g6De1cLJtsdy   2023年11月02日   30   0   0 .NET

个人博客文章归档实现📑 前言 随着博客的文章越来越多,那么归档就显得尤为重要,然后最近也是没什么课,加紧更新一下博客,之前也是更新了评论、留言板。 然后博客是使用的前后的不分离的项目,数据返回一般都是用的.NET的强类型数据返回,也会用到分布视图。 重点是一段sql查询困恼我许久,在后端接口中有详细解释。😓 后端接口的实现 首先,文章归档我实现的思路是根据月份和日期分组降序查询。 思路有了之后,就开始实现。 Service层实现: 首先创建IArcService接口和ArcService类,然后就是继承实现了,看代码: publicinterfaceIArcService { Task&l...

  g6De1cLJtsdy   2023年11月02日   37   0   0 .NET

个人博客-推荐文章加载优化 前言 随着博客文章越来越多,那么推荐的文章也是越来越多,之前推荐文章是只推荐8篇,但是我感觉有点少,然后也是决定加一个加载按钮,也是类似与分页的效果,点击按钮可以继续加载8篇文章。 我的实现思路 同样使用X.PagedList组件去实现分页效果,通过Nuget下载即可 首先我在Service层新增了一个Task<IPagedList<Post>>GetFeaturedPostsAsync(QueryParametersparam)方法 QueryParameters类主要参数 参数类型 参数名 描述 int MaxPageSiz...

  g6De1cLJtsdy   2023年11月02日   45   0   0 .NET

记录服务器和docker时区修改 前言 我的博客是部署在docker里面的,然后我发现评论和留言的时间和北京时间是有差别的,相差8个小时,然后发现是因为容器中的时区设置与服务器是不一致的,所以需要设置一下。 更改liunx服务器时区 查看当前时区设置 使用date命令查看当前系统时间,发现当前时区设置为UTC。 $date WedMar309:21:28UTC2021 列出可用的时区列表 使用ls命令列出了/usr/share/zoneinfo目录下的所有时区信息。 $ls/usr/share/zoneinfo AfricaChileEtcIndianMETposixrulesUS ...

  g6De1cLJtsdy   2023年11月02日   34   0   0 .NET

个人博客-给推荐文章添加排序字段 前言 前篇文章优化了推荐文章的加载,但是呢,还是不太满意,之前是按照文章的发布日期去排序的,既然是推荐文章,还是得用一个字段去专门管理顺序。 设计思路: 给推荐文章表添加一个排序字段,然后写一个修改方法即可。 数据库字段 这里的数据类型以sqlite3为例。 字段名 类型 解释 Id INTEGER 主键 PostId TEXT 文章外键,对应文章主键id SortOrder INTEGER 排序字段 实体类 publicclassFeaturedPost { [Key] [DatabaseGenerated(DatabaseGen...

  g6De1cLJtsdy   2023年11月02日   63   0   0 .NET

个人博客-添加RSS订阅功能 前言 个人博客系列已经完成了 留言板 文章归档 推荐文章优化 推荐文章排序 博客地址:https://pljzy.top 然后博客开源的原作者也是百忙之中添加了一个名为RSS订阅的功能,那么我就来简述一下这个功能是干嘛的,然后照葫芦画瓢实现一下。 RSS简述 来自chatGPT的回答 网站的RSS订阅是一种用于订阅和获取网站内容更新的技术。RSS(ReallySimpleSyndication)是一种XML格式的文件,包含了网站的最新文章、新闻、博客、视频等内容的摘要和链接。通过订阅网站的RSS源,用户可以方便地获取最新的内容更新,而无需每次都访问网站。 使...

  g6De1cLJtsdy   2023年11月02日   55   0   0 .NET

个人博客-发送邮件优化🧐 前言 之前的发送邮件就弄了个方法,比如回复评论会给评论的人发送邮件,留言回复也是,而且2者的代码有很多一样的地方,比较冗余。然后也是抽空优化一下,思路也是比较常用的工厂+策略模式,然后评论回复和留言回复的模板是不一样的,所以需要创建模板类和方法。。。 内容比较多,可以自己创建个小项目试试 模板创建 ⌨先把模板给定义好 定义EmailContent类 主要是用传入发送邮件的内容,Content参数为必须,其他的可以根据自己的需求进行更改。 publicclassEmailContent { publicstringContent{get;set;} publicstr...

  g6De1cLJtsdy   2023年11月02日   31   0   0 .NET

使用Back推送消息到你的iPhone 前言 我的好友看了我的博客,给我提了个需求,让我搞个网站通知,我开始以为就是评论回复然后发送邮件通知。不过他告诉我网站通知是,当有人评论或者留言后,会通知到我这边来,消息是实时通知的,他说用的是Back,不需要发邮件,然后发了个GitHub链接给我,我觉得还不错,下面开始实操一下。 Back Back是一个GitHub开源的消息推送项目,简单来说就是通过下载一个App,然后网站调用App给的接口,就能将信息推送到你的iPhone手机上。 GitHub地址:Finb/Bark:BarkisaniOSAppwhichallowsyoutopushcustom...

  g6De1cLJtsdy   2023年11月02日   32   0   0 .NET

什么?博客园主题比我的个人博客好看?😮 梦开始的地方🛸 最近逛博客园,发现我的园子还挺好看,但是还不够好看,所以通过我百度发现SimpleMemory主题还可以继续添加新的东西,当然这些东西不一定非得用SimpleMemory主题才行,但是搭配SimpleMemory主题是真的好看呀(比我的博客好看多了)。 访问不进去GitHub,又不想花钱使用魔法,看下面,记得一键三连 https://www.bilibili.com/video/BV12k4y1P7EW/?share_source=copy_web&vd_source=fce337a51d11a67781404c67ec0b5...

  g6De1cLJtsdy   2023年11月02日   76   0   0 .NET
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~