2022

使用 cookie 的身份验证和授权

前言 在上一章 学学 dotnet core 中的身份验证和授权-1-概念 中,我们大致明白了身份验证和授权两者的关系。那么在本文中,我们将使用 cookie 来做一个简单的身份验证和授权。 本文中我使用的是 .net core6,并用 MiniApi 的方式编写。 下发凭证 在上一章中,我们得知客户端必须先从服务器上得到凭证,才能够这个凭证去进行身份验证和授权。所以我们的第一步就是:从服务器得到凭证。 这种下发凭证的接口一般是登录接口,所以,我们来弄一个登录的接口吧。 在 MiniApi 中写一个 Login 接口: [crayon-68aa04de55163373606637...

跨域问题和使用 cookie 的限制

前言 在我的文章 使用 cookie 的身份验证和授权 的最后,讲到了跨域问题,这篇文章就简单介绍跨域的相关知识,并说明在 net core 中怎么设置跨域。 使用的版本为 net6,并使用 MiniApi 演示。 XSS 攻击 跨域的由来不得不提到 XSS 攻击。 全名:Cross-site scripting(跨站脚本攻击)。这是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。若受害者运行这些恶意代码,攻击者就可以突破网站的访问限制并冒充受害者。简单地说,就是我可以在你的网站偷偷上运行我的代码,那有多危险。 为了应对这种情况,便有了浏览器的同源策略。 同源策略 这个策略是…

React简单教程-2-ts和组件参数

前言 在上一章:React 简单教程-1-组件 我们知道了 React 的组件是什么,长什么样,用 js 和 HTML 小小体验了一下组件。在这一章,我们将使用 typescript(简称 ts) 来代替 js,这种语法的文件名后缀是 tsx。 我强烈建议使用 ts 来开发 React,要说 ts 比 js 好在哪里?这么说,js 唯一不好的地方就是它只能用 js 来写。 如果你不会 ts,那么你可以稍微地学习一下,官网:typescript,能够看懂一些基本语法就可以了,我们会在编写代码的过程中慢慢学习。 新建 React-ts 项目 现在,忘了我们在上一章创建的项目吧,我们要...

React简单教程-3-样式

前言 在上一章 React 简单教程-2-ts 和组件参数 中我们新建的子组件 Displayer 没有样式,显得平平无奇,这一篇我们将给他美化一下。 CSS 文件 一般的做法,是在你的组件级目录下新建一个和组件同名的 CSS 文件。如,我们的组件是 displayer.tsx,我们就在同级目录下新建一个 displayer.css,然后在组件 Displayer 中直接引入这个文件: 我们先写下一个样式,该样式将背景变成灰色: 然后在组件中使用样式...

浅谈Javascript单线程和事件循环

单线程 Javascript 是单线程的,意味着不会有其他线程来竞争。为什么是单线程呢? 假设 Javascript 是多线程的,有两个线程,分别对同一个元素进行操作: 一个线程将执行 changeValue() 函数,如果元素存在就修改元素的值;一个线程将执行 deleteElement() 函数,如果元素存在就删除元素。此时在多线程的条件下,两个函数同时执行,线程 1 执行,判断元素存在,准备执行修改值的代码 e.value = "VALUE";,此时线程 2 抢占了 CPU,执行了 deleteElement...