关于同源策略与跨域问题

同源策略是现代浏览器安全里一个非常重要的机制,它通过限制客户端脚本读写不同源网站资源的权限来保护用户的信息安全。但是随着应用的复杂程度越来越高以及开发者的需求逐渐增多,很多时候又需要通过数据的跨域传输实现一些功能。 常用的跨域实现方式有 JSONP、CORS 或者服务器代理等。JSONP 依靠的是一些特殊 HTML 标签如 <img>、<script>、<link> 等可以加载非同源资源的特性,毕竟很多时候外码需要依靠单独的 CDN 服务器来减少对这些静态资源的请求时间,而 »

班门弄斧之谈谈 Web 密码安全

[TOC] 起因 去年暑假在整理一个辣鸡项目的代码的时候,思考到用户密码存储相关的问题,然后也去找了点资料。我当时最开始用的是 SHA256 算法生成哈希值,然后更新的时候就强化了一下关于密码储存和验证的模块。后来其实也一直想写这篇文章出来,因为我发现很多不管是用户还是开发者都不太注重密码安全这个问题,甚至还有在数据库里明文存密码的。刚好在写完了挖坑不到一半停下的 百步梯技术部 2017 级 Web 后端进阶 之后,也把这篇文章的坑填上。 传输安全 我们先来看看用户密码从在输入框输入到写入数据库以及后续的验证操作会经过哪些阶段。 注册时的流程当然是前端把数据传送给服务端,然后服务端接收后进行一些处理写入数据库。验证时取出这个处理后的值,然后处理刚刚的验证请求发来的密码, »

百步梯技术部 2017 级 Web 后端进阶

[TOC] 写在前面 这篇文章是面向百步梯技术部 2017 级后端组的同学们的,结合目前大家的学习进度以及时间安排,并参考去年同期的我们接下来所需要的知识储备,整理出下面这些内容。鉴于大家现在也没有上手使用后端框架,写这篇文章的时候就完全没有考虑框架相关的内容了,比如配置等方面的东西如果是用框架的话这里就没有必要讲了。 文章的大部分都是关于后端安全的,并且由于主要偏向的是安全意识这块的内容,就没有给出太多实际的代码,只是希望大家能了解在后端的开发过程中需要注意哪些问题,在接下来的锻炼中我相信大家也会更深刻地理解重视这些问题的意义和作用。 虽然标题是“进阶”,但实际上也只是相对“入门”而言在难度方面有一小部分提高,距离真正的进阶其实还有挺长的路,不过不要太担心啦 2333,踏踏实实走下去才是坠重要的。以及, »

整理和分享一些数据结构作业用到的 LaTeX 排版技巧

[TOC] Background 上个学期修了数据结构课程,作业要求是手写拍照或者电子版都行,最后上传到教学在线,然后呢我看了看感觉好像可以顺便用来锻炼 LaTeX 的样子,于是就一直用它来完成书面作业了。过程中碰到蛮多有意思的东西,特别是到后期对一些数据结构的描述和图形绘制,现在一起整理分享一下。所有的代码和对应生成的 PDF 文件都放在了 GitHub 上。 格式约定 除了最开始的 封面 部分,文中的区块 LaTeX 代码都是截取的片段,对于这些代码片段,会在开头以注释代码( »

退役回忆录:关于OI、ACM,以及这一小段征程

[TOC] Prerequisites 其实是一些常见简写的含义啦 OI:信息学奥林匹克 NOIP:全国青少年信息学奥林匹克联赛(省级) 省选:全国青少年信息学奥林匹克省队选拔赛 NOI:全国青少年信息学奥林匹克 ACM-ICPC:ACM 国际大学生程序设计竞赛,文中简称 ACM 更多 OI 相关内容的解释请参见官方提供的 系列活动简介 前言 其实回忆录这东西是早就该写的,只是因为懒加上拖延症一直放着,大一在 ACM »

给博客增加一个微小的目录生成器

[TOC] 前言 目录对于一篇文章来说其实是蛮重要的,比如全文内容预览或者检查文章结构、标题包含关系等,然而 Ghost 的 Markdown 并不直接支持 TOC 生成语法,因为不想通过加载别的文件来完成这个小功能,就自己尝试实现了一个比较简单的 TOC Generator 需求分析 操作流程 稍微思考一下,最基本的操作流程还是比较简单的: 选取出需要生成目录的 heading 给这些 heading 设置锚点 生成目录 »