FrankKai
FrankKai
原文链接: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...
- 初识ETag - ETag是req header还是res header? - ETag的作用是什么?(标记资源version) - 为什么要用对资源标记版本? - ETag还解决了什么问题? - 如何生成一个ETag? - ETag和什么已知的知识点类似? - ETag可以做持久化吗? - ETag是响应头还是请求头? - ETag语法 - ETag指令 - 避免mid-air相撞 - 缓存未更改的资源(304 Not Modified是怎么回事?)...
在系统性学习OPTIONS请求的过程中,发现在这个请求头的描述信息中,除了reqeust是否有body,成功response是否有body以及是否在HTML forms中允许之外,还有3个没有注意过的HTTP方法的特性:**安全性,幂等性和缓存性。** 因此,这篇博文将来系统性学习一下这3个重要的HTTP方法的特性。 - 安全性 - 幂等性 - 缓存性 ### 安全性 - HTTP的安全性是如何定义的? - HTTP安全的method有哪些? - 安全性与幂等性之间有什么关联? - 安全性对于服务器来说有什么好处? - 安全的方法仅仅用于获取静态文件吗? - 安全性由前端保证还是服务端保证? - 安全方法与不安全方法的比较 - 常见安全方法与不安全方法 #### HTTP的安全性是如何定义的? 如果一个HTTP...
主要用来记录一些常用的markdown片段或者说知识点。 - 使用 \`\`\`...code...\`\`\` 时如何高亮代码块? - latex语法换行如何对齐? - 如何在markdown中折叠答案? ### 使用 \`\`\`...code...\`\`\` 时如何高亮代码块? 目前已知的是可以用javascript,java高亮代码,其余的语言呢? ```javASCRIPT var foo = 1; ``` \`\`\`javascript const foo = "hi girl"; console.log(foo); // "hi girl"...
 不知道用了express.js的你有没有这样的疑问: - app.use为什么可以添加一个又一个中间件? - connect是如何区分普通中间件和错误中间件的? - 中间件处理函数中的next指代的又是什么? 我简单看了一下[connect源码](https://github.com/senchalabs/connect/blob/master/index.js),弄清楚了上面的这3个问题。
class在面向对象设计中非常有用,super关键字值得好好学习一下。 - super关键字概览 - 初识 - 语法 - 描述 - super关键字常用示例 - 在constructor中使用super(super(args0,args1)) - 使用super调用static方法(super.staticMethod()) - 删除super属性会抛出错误(delete super.foo error) - super.prop不能重写非可写属性(object的writable为false) - 在object 迭代过程中使用super.prop(super**不仅仅适用于class,在object中也可以使用**) - super实践疑惑 - 印象中java可以直接super,es6的class可以直接super()吗? - 可以不在constructor中调用`super()`,直接使用super.xxx()吗?...