[ Content | Sidebar ]

Archives for 未分类

2B长城宽带正在做网站内容挟持,私自投放广告的勾当~

访问招行的网站,一片空白,先跳出一个广告,感觉不对劲,立刻查看dom,发现已经被iframe加了壳。此2b宽带运营商之前就干过dns挟持到自己的官网的事。。不曝光不足以平息自己的愤怒~~

补了几篇文章竟然超了。。

这tm才应该是第201啊。。。现在只能含恨202

postfix出错一则

能收到邮件但是发不出去

错误日志如下

Nov  4 20:32:21 localhost postfix/cleanup[4853]: warning: 51CCA2E129: virtual_alias_maps map lookup probl         em for xxxx@gmail.com
Nov  4 20:33:21 localhost postfix/pickup[4851]: 587A12F5F5: uid=0 from=
Nov  4 20:33:21 localhost postfix/cleanup[4853]: warning: connect to mysql server localhost: Can't connec         t to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

原因是之前配置了基于mysql的地址映射

virtual_alias_maps = mysql:/etc/postfix/mysql-alias.cf

当一些在chroot环境中运行的postfix组建试图通过/var/run/mysqld/mysqld.sock连接数据库时就报错了,在master.cf里禁用smtp,rewrite,cleanup的chroot即可

smtp      inet  n       -       n       -       -       smtpd
rewrite   unix  -       -       n       -       -       trivial-rewrite
cleanup   unix  n       -       n       -       0       cleanup

#这是一种不安全的fix方法,另一种解决方法是修改my.conf同过3306端口访问mysql,也可以解决问题。

一个未成形的富文本编辑器

作为一个IOS开发者,我决定贡献一点html代码。。。

最近打算用html+js做一个简单的富文本编辑器给IOS和andriod客户端用,不用任何第三方的框架,简简单单,一个纯洁的编辑器。
写的差不多有点样子,便拿到模拟器上试试,结果悲剧了:IOS上的safari是个太监,根本不支持contentEditable这个东西。
把写半截的代码贡献出来,safari和chrome可以用,对想了解富文本编辑器的同学绝对有帮助。
http://bluehua.org/demo/mobile_editor.html


———–
vim->email->wordpress

消灭referer

看到一篇《浅谈WAP网站安全》的文章。里面讲到通过URL的referer获取用户的登录session。
简单描述一下:
例如有个WAP页面: http://abc.com/link.php?sid=xxxxxx,sid为用户登录后的session ID,页面中有链接到http://efg.com的A标签。

当用户点击链接访问http://efg.com时,efg.com的服务器log里就会有类似
xxx.xxx.xxx.xxx – - [17/Jan/2011:13:29:14 +0800] “GET / HTTP/1.0″ 302 20 “http://abc.com/link.php?sid=xxxxxx” “Firefox”
的记录,无疑efg.com就可以得到该用户的在abc.com的登录session

疑问:abc.com傻b吗?不会把sid存到cookie里吗?

全是中国移动的错,虽然现在几乎所有的手机浏览器都支持cookie,但是如果用户通过CMWAP连接上网,浏览器cookie会被网关过滤。所以国内的WAP网站一般会采取URL参数的形式在页面间传递session id;(那二般是什么?二般是CMWAP网关直接把用户的手机号告诉你,当然这中间必然有某些利益)

那么解决方法就是:
1. 不要在这个外链页面加sid,但是显然不可能,sid丢失之后这个用户就相当于登出了
2. 想办法跳转时不带referer

我们只能选方法2,页面跳转有三种方式:
1. 302/301跳转

header('location: http://xxx');
Copy Code 

2. meta标签跳转

<meta http-equiv="refresh" content="2;url=http://xxxx" />
Copy Code 

3. javascript跳转

document.location = 'http://xxxx';
Copy Code 

第三种方法,通过JS跳转对于WAP网站来说显然是不靠谱的。所以我只测试了前面两种方法:
test.php -> test2.php -> test3.php
test.php有一个A标签连接到test2.php,test2.php通过302或meta标签的方式跳转到test3.php
然后分析server log,得到下面的referer字段分析表;

点击页URL = test.php
跳转页URL = test2.php

Location跳转 Meta跳转
UCWEB(S60) 跳转页URL
UCWEB(Anriod) 点击页URL
Opera(S60) 点击页URL 跳转页URL
S60自带浏览器 点击页URL 跳转页URL
Anriod自带浏览器 点击页URL 跳转页URL

结果表明302跳转显然是不靠谱的,对于meta跳转,有的浏览器干脆不传referer,要么直传了跳转页的URL,所以使用meta跳转的方式现在看来还是安全的

为啥说现在看来是安全的:
1 . 因为一个浏览器通过跳转不传referer貌似被认为是不规矩的,看这里http://www.w3help.org/zh-cn/causes/CH9004
2 . 手机浏览器五花八门,我的测试不充分

———–
post by gmail~