socket
socket 就是TCP/IP的抽象层,当我们使用 socket 编程时,可以不用担心TCP/IP协议簇的实现过程。
造成跨域是因为浏览器的同源策略,不允许js去请求不在同一个域下的资源,即使是localhost,这是防止XSS攻击的第一道防线(?)。(img标签除外,所以img也成了xss攻击的常用跳板方式)
最近在看一本关于Web安全的书《白帽子讲Web安全》,书龄比较老,但是还是挺有科普意义。
Authentication 和 Authorization 是不一样的意思
请求头中的是Authorization
Axios 是一个基于Promise的HTTP库
异步编程和事件监听都是Nodejs特性。
promise对象实际是一个状态机,状态有 pending(进行中)、fullfill(完成)、reject(失败)。当状态改变时,会根据状态,交由 resolve 和 reject 处理。resolve 返回 value,reject 返回 err。
通过注入恶意脚本篡改网站,反射型的 XSS 需要用户点击链接行为,存储型的 XSS 是脚本已经成功写入到了网站代码,危害较大,还有蠕虫类型,如果有XSS漏洞,通过社交网络消息传播。
nodejs 加载模块主要用到 require,赋值到一个变量中
|
|
如果能够 require ,也就是说需要模块导出,由 module.exports 或 exports 完成:
|
|
| RE字符 | 意义 |
|---|---|
| ^ | 开头 |
| $ | 结尾 |
| . | 匹配一个任意的字符 |
| \ | 转义字符 |
| * | 重复匹配0个或多个字符 |
| [x] | 匹配方括号里的任意单个字符 |
| [n1-n2] | 匹配字符范围 |
| [^x] | 匹配除x外的字符 |
| {n,m} | 连续匹配n到m的前一个RE字符 |
/^$/ 可以匹配空格。
这次用到了一个时间选择器的插件Bootstrap-datetimepicker,功能丰富,可以选择小时时间点,UI 基于Bootstrap 十分简洁。