说明 前两篇文章介绍了 Hexo + github pages + travis ci 进行自动化部署,并介绍了 Hexo 的配置文件中的各个属性,相信通过前两篇文章的学习,你已经学会了如何搭建自己的博客...这里标签页和分类页都只会展示现有博客的标签和分类数据,所以如果还没有文章设置标题或者分类,那么对应页面是没有数据的。要想看到效果,就得先写几篇文章。...type可选song(歌曲),playlist(歌单),album(专辑),search(搜索关键字),artist(歌手) id获取示例: 打开手机版网易云音乐,选择喜欢的歌单,然后点击分享 我这里随便选了一个歌单...,只是添加了一下我觉得需要注意的地方。...这里还有一些没有说到到的属性,这配置文件里都有详细的介绍,确实不需要过多解释。 最后再介绍一下我折腾比较久的插件,valine 评价插件。
基于jQuery的ajax对WebApi和OData的封装 WebApi 的使用带来了一个显著的特点,对type有一定的要求。一般ajax的type无非就是两种,GET和POST。...但是现在WebApi来了,type的类型增加了一倍还要多。这个虽说问题不大,就是多个put、delete,看看要求掌握一下就可以了。...WebApi 刚才说过了,OData呢,确实很强大也很灵活,只是太灵活了,导致增加了学习成本和时间,那么能不能也封装一下,变成大家熟悉的方式呢? 思路 ? ...其实是我没有那样的经历,也许以后就理解了吧。...添加和修改的封装就比较简单了,设置好type也就没啥事情了,然后可以根据自己的实际情况加点辅助功能,比如设置ID,设置租户ID等。 删除呢,看着简单,但是实际上是相当的复杂。
使用 OWIN 作为 ASP.NET Web API 的宿主 ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动 设备)的 HTTP 服务。...然后向项目中添加 Microsoft.AspNet.WebApi.Owin 包, 相关依赖的包会自动添加, ?...最终项目依赖的包如下表, 如果没有在 packages.config 文件中列出, 可以再次手工添 加上去。...} 在 OWIN 环境下运行 Web API OWIN 目前有兩個比较成熟的服务器: Katana 微软的 OWIN 服务器, 如果没有指定 OWIN 服务器, 则作为默认的 OWIN 服务器。...最简单的方法是将上面代码中 StartOptions 的 ServerFactory 属性设置为 Nowin , 然 后在添加 Nowin 包就可以运行了: var baseAddress = "https
漏洞发现 我尝试使用了各种XSS payload来填充这些文本字段,希望它们的发票仪表板中的某个位置没有正确地对输入进行转义,这会触发盲XSS并会向我发送通知。但实际情况并非我想的那么简单。...首先,我们将filename属性更改为test.html,将Content-Type更改为text/html,将body更改为XSS payload。...在payload中,我将使用一个script标记,其中src指向我域上的端点,每次加载时都会向我发送一封电子邮件。我当前使用的是ezXSS来记录这些盲XSS请求。 ?...虽然在修复之后XSS仍然存在,但它不是在googleplex.com上,而是在storage.googleapis.com上 - 它充当沙箱域并且也用于存储上传的用户(也像googleusercontent.com...时间线 2019 02.21:报告了漏洞 2019 02.22:优先级被更改为P2 2019 02.22:添加了更多信息 2019 02.25:接受并将优先级改为P1 2019 03.06:发放奖励 2019
虽然这个 Arch 版本并非最古老的(首次发布在 2019 年 5 月),但它是我获得极其稳定的桌面操作系统的最喜欢的选择之一。...EndeavourOS 团队进一步定制了 Calamares 安装程序,使其支持在线和离线安装。离线安装无需在安装过程中连接网络。此安装将安装 Xfce 桌面(包含 EndeavourOS 主题)。...我没有选择通常的 GNOME 或 Plasma 桌面,而是最初选择了 i3 平铺窗口管理器,因为它是一种值得体验的东西。...唯一需要注意的是,只有 Breeze Dark EndeavourOS 主题包含开发团队完成的所有自定义设置。即便如此,这也是 Plasma 桌面,所以它仍然很漂亮。...瞧,您就拥有了一个非常类似 Apple 的桌面(图 3)。 图 3:我已经让我的桌面 Mac 化了!
一、集成API Service 1.1 添加ASP.NET Core WebAPI项目 新建两个WebAPI程序,假设这里取名为ApiService01(占用端口5010)和ApiService02...AuthorizationServer和两个ApiService都一起启动,可以在解决方案属性的启动选项中进行设置。 ...和API Service Client的设置不同的就是在AllowedScopes中给它增加了OpenId和Profile,因为我们为MvcClient设定的是oidc而不是bearer的模式。...但是,IdentityServer的内容很多,我只是学习了一些我要掌握以做POC的部分,其他还有很多功能和知识点我没有学习,大家可以通过搜索园子里各种大神(eg.晓晨Master, solenovex等等等等...另外,一些朋友十分想要一些基于生产环境的采坑经验以及更加实际的应用案例,对此我只能说声抱歉,我目前仍然处于学习与准备POC阶段,目的是为了在公司里推广以及给老板安利(虽然很难),还没有实际项目迁移到.NET
this.title = "添加消费明细"; this.manifest = { ID: Guid.NewGuid().ToString("D")...> type="primary" size="small" v-on:click="add" icon="plus">添 加添 加 这里关于事件处理绑定,官网推荐简写的@click,但这里没有采用,而是使用了完整绑定...添加/编辑的实现: ?..., 再绑定几个JS属性、分页事件处理程序即可,十分方便 Vue Date对象中分页相关的属性: ?
在Asp.Net Core 上面由于现在前后端分离已经是趋势,所以asp.net core MVC用的没有那么多,主要以WebApi作为学习目标。...一、创建一个WebApi项目 我使用的是VS2022, .Net 7版本。...在AspNetCoreWebAPI_2项目中没有只有Main方法内的代码,这就是顶级语句。...Controller 派生自 ControllerBase,并添加对视图的支持,因此它用于处理 Web 页面,而不是 Web API 请求。...UseMvcWithDefaultRoute 定义的传统路由访问操作,传统路由就是以前老的路由规则,型如"{controller=Home}/{action=Index}/{id?}"。
; /Authorize 节点可以通过提取添加到 OWIN 环境的 oauth.Error 、 oauth.ErrorDescription 和 oauth.ErrorUri 属性来显示错误; 如果设置为.../OnReceiveAsync 使用一次; RefreshTokenProvider : 刷新令牌, 如果这个属性没有设置, 则不能从 /Token 刷新令牌。...仍然是新建一个空的 Web 项目, 添加下面的 NuGet 包: Owin Microsoft.Owin Microsoft.Owin.Host.SystemWeb Microsoft.Owin.Security...在 Startup.cs 的 Configuration 方法中添加下面的代码, 启用 Bearer 验证和 WebAPI : public void Configuration(IAppBuilder...OAuth 认证服务器和资源服务器已经建好了, 接下来会另起一篇文章说明怎么使用这两个服务器。
. - - 我自己是这么觉得的.....正文开始 首先我们创建一个空的Web项目: 创建完成后,里面是什么都没有的,然后我们添加一个OWIN启动类如下: 在我们的Start UP中编写代码如下(解释我就写在注释里了..): using System...等待下载和安装完毕即可..效果如下: 下面我们编写一个WebAPI的控制器,代码如下(代码很简单,我就不解释了): using System; using System.Collections.Generic...="text" id="name"/> id="testbtn" type="button" value="调用WebAPI"/> 效果如下:...写在最后 在Web项目中直接创建webapi的项目其实可以很快的达到效果,..个人不是很喜欢自带的Webapi模版感觉很蛋疼加了很多用不着的东西,采用OWIN当宿主可以将项目架设在服务,控制台等,当然~
接下来进入的是俺在ASP.NET学习中最重要的WebAPI部分,在现在流行的互联网场景下,WebAPI可以和HTML5、单页应用程序SPA等技术和理念很好的结合在一起。...所谓ASP.NET WebAPI,其核心概念就是构建REST风格的Web服务,把一起数据视为资源,无论是服务请求或者是数据操作,与以前的SOAP和XML-RPC架构风格有很大不同。...关于这一块,有一个问题困扰了我很久,就是KnockoutJS和AngularJS谁的适用性更强,其实它们没有可比性,KnockoutJS只提供了部分的工作。...属性BaseAddress用于指定WebAPI基地址,DefaultRequestHeader用于添加任意的报头,MaxResponseContentBufferSize表示读取缓存区的大小,默认2G,...下面通过一个服务器端自我寄宿,客户端一般调用的例子完成学习,需要注意通过Nuget添加SelfHost和Client的库,代码如下所示: 1 //服务器端 2 class Program 3 {
前言 本文主要介绍JWT的实战运用。 准备工作 首先我们创建一个Asp.Net的,包含MVC和WebApi的Web项目。 然后使用Nuget搜索JWT,安装JWT类库,如下图。 ?...CacheHelper类:使用HttpRuntime的缓存,类里实现缓存的增删改,因为使用的是HttpRuntime,所以,如果没有设置缓存的超时时间,则缓存的超时时间等于HttpRuntime.Cache...注:JWT的Code虽然是密文,但它是可以被解析的,所以我们不要在Code里存储重要信息,比如密码。 JWT的Code与解析后的内容如下图所示,左边未Code,右边未解析的内容。 ?...AuthenticationHelper验证帮助类 现在,我们已经可以编写验证类了,利用刚刚已创建的缓存帮助类和JWT帮助类。...WebApi接口 现在我们编写WebApi接口,编写一个登录接口和一个普通请求接口。 登录接口:这里我们使用AuthenticationHelper类创建一个token,并把他存储到缓存中。
为方便大家能够更快的做题,而不把时间浪费在翻译上,我又花了几个小时把它们翻译成了中文,当然已经获得了作者授权。 ? 文中有些点作者解释的不太完整,为了更好的理解,我在文中添加了一些个人解释。...我们还没有为name变量赋值,所以它仍然保持undefined的值。 使用let关键字(和const)声明的变量也会存在变量提升,但与var不同,初始化没有被提升。...假设我们将此方法添加到构造函数本身。 也许不是每个Person实例都需要这种方法。这会浪费大量内存空间,因为它们仍然具有该属性,这占用了每个实例的内存空间。...我刚给它的原型添加了一个方法。 原始类型的字符串自动转换为字符串对象,由字符串原型函数生成。 因此,所有字符串(字符串对象)都可以访问该方法!...WebAPI不能只是在准备就绪时将内容添加到堆栈中。 相反,它将回调函数推送到一个称为任务队列的东西。 ? 这是事件循环开始工作的地方。 事件循环查看堆栈和任务队列。
为方便大家能够更快的做题,而不把时间浪费在翻译上,我又花了几个小时把它们翻译成了中文,当然已经获得了作者授权。 ? 文中有些点作者解释的不太完整,为了更好的理解,我在文中添加了一些个人解释。...我们还没有为name变量赋值,所以它仍然保持undefined的值。 使用let关键字(和const)声明的变量也会存在变量提升,但与var不同,初始化没有被提升。...假设我们将此方法添加到构造函数本身。也许不是每个Person实例都需要这种方法。这会浪费大量内存空间,因为它们仍然具有该属性,这占用了每个实例的内存空间。...我刚给它的原型添加了一个方法。原始类型的字符串自动转换为字符串对象,由字符串原型函数生成。因此,所有字符串(字符串对象)都可以访问该方法!...WebAPI不能只是在准备就绪时将内容添加到堆栈中。相反,它将回调函数推送到一个称为任务队列的东西。 ? 这是事件循环开始工作的地方。 事件循环查看堆栈和任务队列。
')// 恶意攻击acceptUserInput('__proto__', 'polluted', '你好我是黑客,权限是允许')在我们的恶意攻击中,我们向我们的原型上添加了一个polluted属性。...导致我们所有新创建的对象都会多出一个polluted属性,属性的值是“你好我是黑客,权限是允许”,这就给了不怀好意的坏人,一个可乘之机。...黑客通过在原型上添加属性,他们可以解锁更多用户权限,比如网站修改权限,vip权限等等来攻击你的网站让你的网站承受损失。...在代码中减少属性访问器的使用尽可能使用.的方式去访问对象的属性或者使用 Map或Set,来代替我们的对象检查对象的原型链,查看新创建对象的原型是否被恶意添加了原本不该有的属性,或者属性被修改检查用户的输入...,只有防止用户恶意输入用于Object.create(null)创建没有原型的对象我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
复制 id_rsa.pub 文件里的信息,然后到这里添加新的 SSHKEY 。 ? ? 把我们刚才的 key 复制进行后保存即可。 创建仓库 点击这里,创建一个新的仓库。 ?...在 breeze-blog 目录下使用以下命令来运行我们的博客: hexo server 在默认情况下,服务会使用 4000 端口,如果已经被占用,也可以添加 -p 参数来换用其它端口: hexo server...git push -u origin master 如果你的仓库原来已经有数据了,可以添加 -f 参数来强制推送,但这样会使得你原来的数据丢失,所以慎用。...url: https://mfrank2016.github.io/ root: /breeze-blog/ deploy: type: 'git' repo: git@github.com:...(浏览器有缓存,所以可能需要刷新几次才有效果) 小结 整个过程看起来有些麻烦,距上次部署博客已经有很长时间了,我也是摸索了几次后才大致掌握,因为不想每次都重新来一遍,所以还是记录一下为好,利人利己。
大家好,又见面了,我是你们的朋友全栈君。 最近做的项目使用mvc+webapi,采取前后端分离的方式,后台提供API接口给前端开发人员。...1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”) 最先尝试的是微软自带的方案,由于项目对webapi了一定改造导致使用该方案时一直报错...,于是转向了第二种方案,经过大半天大捣鼓,最终效果如下 1.列出所有API控制器和控制器描述 2.列出action和描述 3.直观的接口测试 达到这几点目标,已经满足项目使用。...但是没有接口的注释,下面添加接口注释 项目属性->勾选生成xml文档文件 修改SwaggerConfig文件 //c.IncludeXmlComments(GetXmlCommentsPath...添加自己的中文语言包,和转换js,实现逻辑参考swagger源码。
1.微软自带的Microsoft.AspNet.WebApi.HelpPage 2.swagger(我比较喜欢戏称为“丝袜哥”) 最先尝试的是微软自带的方案,由于项目对webapi了一定改造导致使用该方案时一直报错...2.列出action和描述 ? 3.直观的接口测试 ? 达到这几点目标,已经满足项目使用。...删除多余的SwaggerUI文件夹 ? 删除多余的配置类SwaggerNet ? 4.添加接口注释 完成上面三部运行项目,可以看到接口描述已经生成,浏览地址http://xxx/Swagger。...但是没有接口的注释,下面添加接口注释 ? 项目属性->勾选生成xml文档文件 ?...添加自己的中文语言包,和转换js,实现逻辑参考swagger源码。 ?
简单起见,我们仅仅为Contact定义了如下几个简单的属性,它们分别代表联系人的ID、姓名、联系电话、电子邮箱和联系地址。...当ContactsController类型被加载的时候,我们添加了两个ID分别为“001”和“002”的联系人记录。...以通过KO实现的MVVM为例,其核心是“绑定”,我个人又将其分为“数据的绑定”和“行为的绑定”。...我们通过指定的联系人对象是否具有Id来判断当前操作是“修改”还是“添加”。对于后者,我们会创建一个新的对象作为添加的联系人对象。被修改或者添加的联系人对象被“赋值”给contact属性。...contact属性作为提交的数据,至于“添加”还是“修改”,同样是通过它是否具有相应的Id来决定。联系人成功添加或者修改之后,load方法被调用以刷新当前联系人列表。