FrankKai.github.io
FrankKai.github.io copied to clipboard
FE blog
记录踩过的坑。 - 跨域绘制脏canvas问题 - canvas裁剪图片 - 如何使两次绘制之间的连续起来? - 如何让两次绘制canvas之间有过渡效果? - macOS与windows上的canvas.toDataURL()不同 - 如何解决canvas内存泄漏问题
在学习nodeschool的count-to-6教程时,遇到了这两个常用但是一直没有系统学习的概念,因此在mdn找到相关文档进行学习。 - [Rest parameters](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters) - rest parameters语法 - rest parameters与arguments的区别 - rest parameters没出现前,es5怎么做? - rest parameters既然是数组,可以直接解构吗? - 优雅的使用rest parameters的例子 - [Spread syntax](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax) - 几种spread场景 - function calls中的spread语法 - array literals中的spread语法...
当我们谈起**如何防范web安全中的XSS攻击**时,通常会说:浏览器引入了内容安全策略,也就是CSP(Content Security Policy),去解决XSS攻击的问题。 有人说,**CSP的核心思想是让服务器决定浏览器能够加载哪些资源,相当于一个前端资源白名单。这样做的目的是抵御XSS攻击,提升前端安全性。** 那么CSP到底什么呢? 这句对CSP的概括是否准确呢? - CSP前言 - 面临的威胁 - 如何使用CSP - 示例:常用的使用示例 - 测试你的策略 - 开启报告 - 违规报告语法 - 违规报告采样 - CSP指令指南 - 腾讯AlloyTeam两篇非常好的CSP文章 ### CSP前言 Content Security...
>行内元素和块级元素有什么异同? *可能你觉得这是一个老掉牙的问题,但其实并没有那么简单。* 对于初学者来说,当遇到面试官问到这个问题的时候,脑海里的第一印象是css的display属性,值为inline时为行内元素,值为block时为块级元素,那值为inline-block时呢,元素是块级行内元素吗? 其实我们看问题的角度从一开始就错了,错误地站在了css的角度,而真正正确的是站在html的角度。因为这里的元素,本质上是指html的DOM元素。 下面我们就3个原理展开深入: - 深入理解inline元素 - 深入理解block-level元素 - 深入理解display属性 并且提出两个问题: - 行内元素和块级元素有什么异同? - css属性display如何影响元素?
Vuex那些事儿
用vuex也有一段时间了,但仅仅是很基础的用,没有学习高级特性,更没有深入过源码 由于手上负责的聊天项目较为复杂,深入学习vuex更显得很有必要,从而优化聊天部分的前端实现 基于以上目的,我将在这里记录自己在实践过程中的一些总结。 - mapState与mapGetter的区别是什么? - Vuex的plugins有什么用? - this.$store.commit()和mapMutation()哪种更好? - mutation与action区别是什么? - Modules的namespacing是什么操作? - 一次vuex的状态变更经历哪些步骤? - Vuex是如何与Vue框架做双向数据绑定的?
原文链接:https://owasp.org/www-community/attacks/csrf#:~:text=Cross%2DSite%20Request%20Forgery%20(CSRF,which%20they're%20currently%20authenticated. - 概览 - 描述 - 预防措施并不起作用 - 使用安全的cookie - 只允许POST请求 - 多步骤数据处理 - URL重写 - HTTPS与CSRF - CSRF攻击是如何工作的? - Get场景 - Post场景 - 其他HTTP方法 ### 概览 CSRF全称为`Cross-Site Request Forgery`,是一种强制用户在已经鉴权过的网站上执行用户不希望做的操作的攻击。通过一些社会工程学的帮助(例如通过email或者chat方式发送一个链接),攻击者可以欺骗网站的用户去执行攻击者选择的操作。如果受害者是一个普通的用户,一个成功的CSRF攻击可以强制用户去执行状态变更请求,例如资金交易,email地址变更等等。如果受害者拥有管理员权限,CSRF攻击会危及整个web应用。...
- 常用 - yum和rpm ### 常用 - 查询centOS的某个端口 `netstat -nltp |grep 3306` - 设置环境变量`/etc/profile` - 安装node`curl -sL https://rpm.nodesource.com/setup_12.x | bash -` `yum install nodejs -y` 更多可以参考: https://github.com/nodesource/distributions/blob/master/README.md ### yum和rpm ####...
- POST只能发送一种类型的请求体吗? - POST与PUT有什么不同? - 可以通过哪些方式发送POST请求? - POST常见的MIME类型有哪些? - 什么是百分比编码? - 项目中的multipart/form-data请求 - 不通过form表单,通过XHR发送的话,POST如何表现? - POST基本信息 - POST语法 - application/x-www.form-urlencoded请求和multipart/form-data请求例子 - 如何更加详细的理解Content-Disposition - 实际项目中用到的最多的POST是哪一种? ### POST只能发送一种类型的请求体吗? HTTP `POST` 方法可以向服务器发送数据。请求体的类型取决于`Content-Type`头。 ###...
- 初识Cache-Control - 语法篇 - 缓存请求(request)指令 - 缓存响应(response)指令 - 扩展(Extension)指令 - req和res通用的指令 - 指令篇 - 缓存性 - 初识缓存性 - public - private - no-cache - no-store - 有效期 - max-age...