2019.4.16
1.英语单词计划(167,168)
2.Oracle学习:
①使用子查询插入/更新/删除数据
②清空表中数据的更高效手段: 截断表,作用"等价于"不加条件的delete,但是没有后悔的可能
|
--(1)delete table : 可以使用roll命令来回滚
--(2)truncate table : 可以回收空间,速度快,操作不可逆
③事务的特性: 原子性,一致性,隔离性,持久性
④--显示的事务操作:手动commit做事务提交或者rollback做回退 (可以使用 savepoint 命令设置一个保存点,使用rollback做阶段回退 )
--隐式的事务操作:没有明确的发出commit或者rollback命令,而是由其他命令隐式产生(例如create命令自带两次commit,直接关闭会话而不是用exit退出触发rollback)
⑤使用for update(例如 select * from emp for update)给查询加锁,不释放该锁会影响很多并发操作
⑥查询开始前结果已经确定,例如9点开始的查询,9.05修改了数据,但是Oracle会查询9点之前的老镜像获取数据(读一致性)
3.数据结构: --动态查找表–
①二叉排序树: 左子树值小于根的值,右子树值大于根的值,且其子树也符合
②二叉排序树的插入、删除算法
4.读《白帽子讲Web安全》:
①CSEF的防御:
|
--(1)验证码(最简洁而有效的防御方法,但是出于用户体验考虑,并不能任何地方都加上验证码)
--(2)Referer Check (服务器并非任何时候都能取到Referer)
--(3)Anti CSRF Token (给URL加上一个随机的Token防止URL被猜测伪造,验证表单中的Token和Session或者Cookie的是否一致即可)
②点击劫持的概念(本质上是视觉欺骗)
③XSIO:图片覆盖攻击(某些系统中<img>标签是对用户开放的,如果style属性可能导致图片浮出,就有可能遭到图片覆盖攻击)
④点击劫持的防御:
|
--(1)禁止跨域的iframe
--(2)X-Frame-Options:
|
--DENY 禁止当前页面加载任何frame页面
--SAMEORIGIN fram页面地址只能是同源域名下的页面
--ALLOW-FROM origin 可以定义允许frame加载的页面地址
⑤HTML5里的新标签,canvas, 跨域访问, 跨窗口消息传递 等很多新内容也带来了很多挑战
⑥CRLF注入: \r\n 换行符没有被正确处理
5.牛客网刷题:
①提高链路速率可以减少数据的发送时延
②ping 一个网站需要使用到arp,不会使用到tcp和udp