2022 08-08

ABP中的数据过滤器

  本文首先介绍了ABP内置的软删除过滤器(ISoftDelete)和多租户过滤器(IMultiTenant),然后介绍了如何实现一个自定义过滤器,最后介绍了在软件开发过程中遇到的实际问题,同时给出了解决问题的一个未必最优的思路。 一.预定义过滤器   ABP中的数据过滤器源码在Volo.Abp.Data[2]包中,官方定义了2个开箱即用的过滤器,分别是软删除过滤器(ISoftDelete)和多租户过滤器(IMultiTenant),想必大家对这2个内置的过滤器已经比较熟悉了。下面重点说下通过I

2022 08-08

[GYCTF2020]Ezsqli-1|SQL注入

1、打开界面之后在输入框进行输入测试,分别输入1、2、3、’等字符,结果如下: 2、看到bool(false)这里我想到了bool注入,因为之前做过这道题:https://www.cnblogs.com/upfine/p/16367693.html,所以这里直接想到了bool注入,那就先判断下注入点,payload:1&&1=1和1&&1=2,(这里需要注意下编码,否则不行,可以直接在web界面输入,然后抓包)结果如下: 3、根据返回结果的不同,确定了

2022 08-08

Dapr学习(4)之eShopOnDapr部署(Rancher2.63&k3s)

本篇主要讲述一下github上基于Dapr实现的商城demo在(K8sorK3s)环境中的部署实践,本文环境基于k3s&rancher2.6.3 1、eShopOnDapr源代码及概述 源代码地址:https://github.com/dotnet-architecture/eShopOnDapr 方案体系结构如下图:说明:1.前后端分离项目,前端Blazor项目,系统入口,发送api请求到apigateway 2.API网关从前端客户端抽象出后端核心微服务,为后端调用总入口。它是使用

2022 08-08

最新豆瓣top250爬虫案例代码分析[注释齐全]

导入包 #json包 importjson #正则表达式包 importre importrequests fromrequestsimportRequestException 定义爬取html函数 #函数:获取一页html defget_one_page(url): try: headers={ 'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/103.0.0

2022 08-08

JavaWeb过滤器Filter(附tomcat部分源码分析)

过滤器Filter 过滤器通常对一些web资源进行拦截,做完一些处理器再交给下一个过滤器处理,直到所有的过滤器处理器,再调用servlet实例的service方法进行处理。过滤器可以对request进行处理也可以对response进行处理。 处理顺序 如果过滤器链顺序如上图所示,那么对request请求的处理顺序为1、2、3,对response响应的处理顺序为3、2、1. 使用场景 用户权限验证 防止乱码统一对请求和响应设置编码  对响应数据压缩等等   自定义过滤器 实现

2022 08-08

利用 SonarScanner 静态扫描 Rainbond 上的 Maven 项目

对代码进行静态扫描是一种非常常见的代码质量保证手段,这种扫描不仅仅可以检查到代码中的缺陷,应用各种业界最佳实践,也可以检查出安全方面的漏洞,给予项目代码全方位的提升。在各种代码扫描方案之中,SonarQube最为人熟知,应用最为广泛。各种持续集成方案都有自己的方式融入SonarQube进行代码的静态扫描工作。 今天介绍一种基于SonarScanner在Rainbond源码构建过程中,对JavaMaven项目进行静态扫描的方法。 SonarScannerForMaven简介 使用SonarScan

2022 08-08

【原创】Asp.NET Core Web API与Vue 3.0搭建前后分离项目

特地记录一下,网上的教程写的稀里糊涂的,整得我都心塞塞的,其实实现的过程蛮简单的 问题是这样的:我将Vue构建生成好的文件,放在后端wwwroot文件里面,并开启静态文件访问功能,结果总是无法显示相应的Vue页面,其原因在于路径没有带#,导致路由失败 网上找了很久,很少有这么搭建项目的教程,还是记录一下,算是铺路叭~ 后端:Asp.NETCoreWebAPI,版本是.NET6 前端:Vue3+Vite  后端WebAPI部分: 1) Program.cs 在app.UseHt

2022 08-08

集成 Spring Doc 接口文档和 knife4j-SpringBoot 2.7.2 实战基础

优雅哥SpringBoot2.7.2实战基础-04-集成SpringDoc接口文档和knife4j 前面已经集成MyBatisPlus、Druid数据源,开发了5个接口。在测试这5个接口时使用了HTTPClient或PostMan,无论是啥都比较麻烦:得自己写请求地址URL、请求参数等,于是多年前就出现了Swagger这个玩意。Swagger可以自动生成接口文档,还能很方便的测试各个接口。但不幸的是,MVNRepository上面SpringfoxSwagger2的版本停止于2020年7月,而写

2022 08-08

JVM内存模型和结构详解(五大模型图解)

JVM内存模型和Java内存模型都是面试的热点问题,名字看感觉都差不多,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关@mikechen。 什么是JVM JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一个虚构出来的计算机,有着自己完善的硬件架构,如处理器、堆栈等。   为什么需要JVM? Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成

2022 08-08

[算法1-排序](.NET源码学习)& LINQ & Lambda

[算法1-排序](.NET源码学习)&LINQ&Lambda 说起排序算法,在日常实际开发中我们基本不在意这些事情,有API不用不是没事找事嘛。但必要的基础还是需要了解掌握。 排序的目的是为了让无序的数据,变得“有序”。此处的有序指的是,满足当前使用需求的顺序,除了自带的API,我们还可以自定义比较器对象、使用LINQ语句、Lambda表达式等方式完成排序。本文将逐一介绍十大排序,并着重介绍分析基于C#的LINQ常用语句和Lambda表达式,二者对排序的实现。 【#请先阅读注意事