1.collection stream filter
- 服务器如何避免窃取cookie带来的攻击
1. 验证http referer字段
2. 在请求地址中添加token
系统开发者可以在HTTP请求中以参数的形式加入一个随机产生的token,并在服务器端建立一个拦截器来验证这个token,如果请求中没有token或者token内容不正确,则认为可能是CSRF攻击而拒绝该请求。
3. 在HTTP头中自定义属性并验证(不会被泄露)
- sso单点登陆系统概述
相比于单系统登录,sso多了一个认证中心,只有认证中心接受用户名和密码等安全信息,其他系统不提供
登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,sso认证中心验证用户的用户名密码没
问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,
即得到了授权,可以借此创建局部会话,局部会话登录方式与单系统的登录方式相同。这个过程,
也就是单点登录的原理。
- 数据库char 和varchar 的区别 varchar(1000) 能放几个字母
char类型时定长的类型,即当定义的是char(10),输入的是"abc"这三个字符时,它们占的空间一样是
10个字节,包括7个空字节。当输入的字符长度超过指定的数时,
char会截取超出的字符。而且,当存储char值时,MySQL是自动删除输入字符串末尾的空格。
char是适合存储很短的、一般固定长度的字符串。例如,char非常适合存储密码的MD5值,
因为这是一个定长的值。对于非常短的列,char比varchar在存储空间上也更有效率。
varchar(n)类型用于存储可变长的,长度为n个字节的可变长度且非Unicode的字符数据。
n必须是介于1和8000之间的数值,存储大小为输入数据的字节的实际长度+1/2. 比如varchar(10),
然后输入abc三个字符,那么实际存储大小为3个字节。除此之外,varchar还需要使用1或2个
额外字节记录字符串的长度,如果列的最大长度小于等于255字节(是定义的最长长度,不是实际长度),
则使用1个字节表示长度,否则使用2个字节来表示。
所以,从空间上考虑,varcahr较合适;从效率上考虑,用char合适。二者之间需要权衡。
- 一个字母在数据库中占用几个字节
不同字符编码 中 字母和汉字占用的字节数也是不一样的 utf-8中 一个字母占一个字节
mysql 4.0版本以下,varchar(50), 指的是50字节,如果存放utf8汉字时,只能存放16个
(每个汉字3字节)
mysql 5.0版本以上,varchar(50), 指的是50字符,无论存放的是数字、字母还是UTF8汉字
(每个汉字3字节),都可以存放50个。
- 线程和子进程的区别
进程和子进程,也叫父子进程关系
进程——资源分配的最小单位,线程——程序执行的最小单位。进程有独立地址空间,
多个线程是共享地址空间和公共变量
而不同进程间的变量是不可见的
对于用户程序而言,进程和线程的区别在于是否共享进程空间。