2016年10月19日星期三

firebug color

Format        Description
Bold Black    Objects
Black         DOM objects
get in gray   "Getter" functions
Bold green    User functions
Green         DOM functions
Bold Red      Constructor functions 
 
 http://getfirebug.com/wiki/index.php/DOM_Panel


Bold Black是Object,Class的instance了
Bold Red还是Class

2016年10月18日星期二

nth-of-type的选择器和class谁优先?

今天写一个东西,这样子的
.grid-autotrail  tbody tr td.range:nth-of-type(3) {
border-right: 1px red dotted;
}

本来想选出tr里面是td.range的第三个,结果选出来的是
tr里面第三个td,并且有range的

也就是nth-of-type这样的,不受前面class的影响。

2016年9月26日星期一

2016年9月23日星期五

csrf(跨站请求伪造)流程

1。用户正常登录了正规网站A。产生了cookie。
2。用户没退出的情况时,访问了网站B。B的页面里面,有网站A的连接,比如http://www.a.com/xxx,比如<img src="http://www.a.com/xxx/yyy"/>
3。用户往往B的他页面时,会去访问A,访问A时也会带上A的cookie,由于cookie是正常的,A会认为是一个合法的请求,进而进行处理。自然B网站也可以搞自动post等背后动作,只要cookie有效。

对于这样的情况,网站A的可以检查http_Referer来判断,但是referer也是可以伪造的,不保险。
所以有效的还是在form里面,埋入token。

spring security里面的csrf对策,就是埋入token,来检测请求的有效性。但是,一旦启用了csrf,就必须用到session。有没有不用session的csrf的检测方法呢?
【仔细看了文档,spring也可以将csrf写入cookie里,来做到stateless,CookieCsrfTokenRepository】


考虑到的方法有,写cookie,cookie里面埋入token,并且form里面也埋入hash过的token。服务器端来比较两个token是否一样。这里用到的原理是,第三方网站(比如上面的B)没法获取A的cookie【也是理论上的】,所以B的页面的form里面,也就没法埋入A的cookie了。

 http://docs.spring.io/spring-security/site/docs/current/reference/html/csrf.html
的文档里面,描述了为啥没用CookieCsrf作为默认而用Session作为默认的原因。如果要用session,那么普通的rest也就是有状态了,所有的请求都需要提交csrf字段。
 
https://www.blogger.com/blogger.g?blogID=8899947124180453470#editor/target=post;postID=327728104436759904

如果cookie泄漏了怎么办?XSS(跨站脚本攻击)手法是可以偷cookie的。
 怎么偷,首先,网站得是一个可以运行人发言的网站,比如论坛。A在发言代码里面嵌入javascript,如果网站没有做处理,照本显示,那么B浏览网站时就会执行A嵌入的代码。由于是网站页面自身的script,script就可以拿到B的cookie了,自然也可写script将偷来的cookie发给A。
spring security里面对xss,没有特别的招,就是3个encoding。
1。ouput文字的时候,html encoding
2。 ouput javascript的时候,javascript encoding
3。事件绑定时,handler encoding。

2016年9月21日星期三

spring oauth2,不用config,用xml

http://www.cnblogs.com/tinkerz/p/3759796.html

https://github.com/spring-projects/spring-security-oauth/blob/114fbd44beef0382009f207c08f0b1d9c24e95a9/samples/oauth2/sparklr/src/main/webapp/WEB-INF/spring-servlet.xml

https://github.com/cloudfoundry/uaa/blob/master/samples/api/src/main/webapp/WEB-INF/spring-servlet.xml


http://blog.csdn.net/monkeyking1987/article/details/16828059

http://wwwcomy.iteye.com/blog/2230265

https://gist.github.com/ddewaele/6411612

2016年9月16日星期五

查看进程的运行环境

strings –a /proc/<pid_of_the_process>/environ


https://blogs.oracle.com/myoraclediary/entry/how_to_check_environment_variables

2016年9月14日星期三

ftp的文件名乱码

vsftpd的文件上载后乱码,自然,可以设置ftp客户端的设定,设置为utf8,但是这得告诉别人这么去设置,需要找个法子,设置自然而然转码的的功能,查到vsftpd没这个功能,虽然以前有人做了patch,非官方的。
找到了proftpd,
设置UseEncoding UTF-8 CP932 strict,就可以了。