Fork me on GitHub
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 24 下一页
摘要: 越权 越权是非常严重的安全漏洞,通常状态是开发人员对请求的限制逻辑不严格导致的。 如果系统中有角色的概念,越权可能出现不同角色间的越权和同角色间的越权。 相同角色: A用户,B用户是相同的角色。 A用户和B用户都可以调用 /photo/{id}。 这个url,如果在后端不判断这个phtoto的id属 阅读全文
posted @ 2022-02-03 13:37 桂素伟 阅读(86) 评论(0) 推荐(0)
摘要: 上传文件 上传文件是造成风险的很大因素,所以对上传文件进行处理是重要的,首先要处理的是:a、上传文件大小限制;b、上传文件类型(能过扩展或,或文件头)限制;c、上传的名称要替换掉;d、上传的文件要在专用区域(如果能设置权限最好)最好。 [HttpPost("/files")] public asyn 阅读全文
posted @ 2022-02-03 13:35 桂素伟 阅读(58) 评论(0) 推荐(0)
摘要: 隐藏web服务端信息 创建一个asp.net core mcv web项目,运行,F12查看返回信息,如下图,会清晰看到服务端的类型是kestrel. 有时安全检测要求不能显示服务端信息,这样在一定程度上能降低被 攻击的风险,具体代码如下: public class Program { public 阅读全文
posted @ 2022-02-03 13:28 桂素伟 阅读(64) 评论(0) 推荐(0)
摘要: web应用相对desktop应用就要复杂一些,桌面应在一个时间点是为单访问服务,web应用,在一个时间点,设计的是为多人服务;桌面应用UI和后面代码是一体的,在一台设备上动行表示,但web服务,通常是前后端分离,后端很多时候还是很多个服务协同工作,所以web服务就要复杂一些。 web框架 这里说的w 阅读全文
posted @ 2022-02-02 23:10 桂素伟 阅读(81) 评论(0) 推荐(0)
摘要: 使用了AspNetCoreRateLimit三方库,starup.cs配置如下。 using AspNetCoreRateLimit; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Micr 阅读全文
posted @ 2022-02-02 23:07 桂素伟 阅读(79) 评论(0) 推荐(0)
摘要: 写程序和拼积木是一样的,首先要知道我们这堆积木中都有那些基本模块,然后再非常清晰知道自己这次要拼一个什么东西,那接下来就是拼搭环节,在拼搭过程中,有时还会拆除,重新来搭。 其实开发软件也是一样的,这篇先理一下desktop框架下“搭积木”的思路。 desktop框架:desktop在.net世界里面 阅读全文
posted @ 2022-02-02 23:00 桂素伟 阅读(424) 评论(0) 推荐(0)
摘要: 高层模块不应该依赖底层模块,两都都应该依赖抽象 一个三层的Demo /// <summary> /// 人员实体类 /// </summary> class Person { public int ID { get; set; } public string Name { get; set; } p 阅读全文
posted @ 2022-02-02 20:36 桂素伟 阅读(28) 评论(0) 推荐(0)
摘要: 对修改是封闭的,对扩展是开放的。 新需求对于已上线的系统是司空见惯的,最佳实践告诉我们对生产中的代码在扩展功能时不要直接修改,而是去重写一个新的方法,新类型或新服务去扩展它,这道理很简单,任何即有代码的变更,都可能带来灾难。(除非100%把握,或有100%把握的胆子,当然也有一个工种,测试能帮我们来 阅读全文
posted @ 2022-02-02 20:32 桂素伟 阅读(40) 评论(0) 推荐(0)
摘要: 最近工作需要,在调研BMP产品(开源和商用),重点了解了activiti和它的商业产品Alfresco Process Services,这是java的体系,成熟,完善(三方开源库是java多年开源积累下的最宝贵的财富),出身.neter的我自然就想看看.net世界里有没有类似的产品。于是就找到两篇 阅读全文
posted @ 2022-02-02 20:28 桂素伟 阅读(271) 评论(0) 推荐(0)
摘要: 单一职责是降低耦合度的指导思想,适用于一个微服务,一个类型,一个方法。 微服务层: 微服务一般按业务的领域来进行拆分:药房微服务就是药房的业务,护士站微服务就是护士站的业务,广义上没有什么问题,但对于一些共用业务,就犯难了,究竟放在那个微服务里?还是合并两个微服务?其实这里就单一,把共用的抽离出来, 阅读全文
posted @ 2022-02-02 20:24 桂素伟 阅读(39) 评论(0) 推荐(0)
摘要: 官方和老人言,asp.net core中尽量用异步,为什么呢?接下来是个小demo,看看同步异步的差别吧,或许通过这个demo,就明白官方和老人的良苦用心了。 1、创建一个sql server的表 CREATE TABLE [dbo].[Students]( [StuNo] [varchar](50 阅读全文
posted @ 2022-02-02 20:10 桂素伟 阅读(76) 评论(0) 推荐(0)
摘要: Jaeger是收集全链路跟踪的信息,在Jaeger收集的信息中,有请求的url信息,有每个请求的时间间隔,借助这些信息可以进行报警,比如一次较长的请求,或者是某些请求的次数和先后等。不管报警的业务规则是什么,首先得收集Jaeger中的信息。 Jaeger有api可以提供这些信息,比如 /api/se 阅读全文
posted @ 2022-02-02 20:03 桂素伟 阅读(57) 评论(0) 推荐(0)
摘要: 上一篇定义了两种使用Jaeger的方式:中间件和action过滤器,下面这个例子定义了两个服务 WebAPI01,请求WebAPI02,采用的是中间件的请求方式。 引入JaegerSharp包(或发布到自己的Nuget库里引用) WebAPI01的Startup using JaegerSharp; 阅读全文
posted @ 2022-02-02 19:58 桂素伟 阅读(103) 评论(0) 推荐(0)
摘要: 随着微服务的普及,微服务间的调用全链路跟踪也火了起来,Jaeger(https://www.jaegertracing.io/)是CNCF孵化的全链路跟踪型项目,在.net core中,提供了一个Jaeger的Nuget(https://github.com/jaegertracing/jaeger 阅读全文
posted @ 2022-02-02 19:53 桂素伟 阅读(87) 评论(0) 推荐(0)
摘要: 最近设计架构时,有个场景,首先是前后端分离,再就是一前端对多后端,这里需要解决两件事,一是前端的html,js,css需要一个host;二是需要一个api网关,能组织后端的api服务。有很多反向代理产品能实现,这里选择了Nginx来实现。 下面是在一个前端的html文件中调用后端api的例子,前端是 阅读全文
posted @ 2022-02-02 19:48 桂素伟 阅读(64) 评论(0) 推荐(0)
摘要: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。 ——出自 https 阅读全文
posted @ 2022-02-01 15:45 桂素伟 阅读(118) 评论(0) 推荐(0)
摘要: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。 ——出自 https 阅读全文
posted @ 2022-02-01 15:43 桂素伟 阅读(52) 评论(0) 推荐(0)
摘要: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。 ——出自 https 阅读全文
posted @ 2022-02-01 15:41 桂素伟 阅读(90) 评论(0) 推荐(0)
摘要: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。 ——出自 https 阅读全文
posted @ 2022-02-01 15:25 桂素伟 阅读(65) 评论(0) 推荐(0)
摘要: GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时。GraphQL 对你的 API 中的数据提供了一套易于理解的完整描述,使得客户端能够准确地获得它需要的数据,而且没有任何冗余,也让 API 更容易地随着时间推移而演进,还能用于构建强大的开发者工具。 ——出自 https 阅读全文
posted @ 2022-02-01 15:23 桂素伟 阅读(65) 评论(0) 推荐(0)
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 24 下一页