娃 > 吃个小手

2015-10-18
吃个小手

萌啊萌

杂言碎语 > 反省,不要再和论坛上何人打口水杖了

2015-09-16

我自认是一个有想法,有判断力的人。

愿意在网络上表达自己的观点。

很看不上那些讲不上道理,只会逞口舌之快的人。

觉得没必要在意那些低级的人,让他们厌恶我是意见很好的事。

至于口舌之利,谁又怕了谁。

到现在,这个观点也没改变。

但昨天在无忌被和肆意攻击我的人一起被禁言,让我不禁反思了下自己。

的确,我一直试图在我活跃的论坛做一个有价值的人。

但不代表,我在言语之争时不给别人带来困扰。

也不代表,别人用低级的方式攻击我,我也做相应的回击,就不低级了。

既然自认很多人的确档次不如我,这么耿耿于怀只能自掉身价而已。

以此帖自勉,从此以后在网络上戒嗔。对于有脱离题目吵架的倾向的人,一律做如下回答。

为避免吵架浪费所有阅读者的精力,我不会再回复您在此帖里的其他回复。否则我就是一个自打耳光言而无信的人。

娃 > 太极

2015-09-10
太极

其实吧,金庸的武侠世界里,最喜欢的门派还是武当。

代码 > 解决react input框chrome无法输入中文的问题

2015-08-16

之前使用input框,value设为模型的值,发现无法输入中文。

研究了下。通过非托管的输入框组建,外带初始值设置解决这个问题。

也就是说,

<input onChange={this.change} value={this.state.model.v}>

改为

<input onChange={this.change} defaultValue={this.state.model.v}>

IE下并没有这个问题。感觉是输入法和chrome之间的问题。但是同时在linux下和win下都有这个问题。只能通过别的方式绕开了。 

网络 > 用nginx+cookie防止简单的抓取/破解骚扰

2015-07-02

最近公司的能从外方访问测试服务器很不稳定。查看日志是有大量的访问日志,以及很多调用wp/dedecms/phpmyadmin默认登录的地址的'破解'访问。

决定家一个简单的过滤,最早准备用basic auth,但为了尽量不干扰 普通客户的访问,尝试用cookie解决。没有cookie的话显示一个通过js设定cookie的页面。有cookie的话显示正常页面。

 

首先自然是安装nginx,改端口,反代。

配置文件如下 :

server {
  listen IP地址:80;
  error_page 403 /403.html;
  root /errmsg/;
  location = /403.html
  {
    root /errmsg/;
    allow all;
    internal;
  }
  location / {
    if ( $cookie_antiscanpassword != "password") {
      return 403;
    }
    proxy_pass http://127.0.0.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
  location = /antiscanpassword/cookie.js {
    alias /errmsg/antiscanpassword/cookie.js;
  }
  location ~*\.(jpg|png|jpeg|gif|js|css|flv|mp4|pdf)$ {
    proxy_pass http://127.0.0.1;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  } 
  index index.html index.htm;
}

建立/errmsg/403.html.内容如下:

<html>
<head>
<script src='/antiscanpassword/cookie.js'></script>
<script>
var login=function(){
  var date = new Date();
  date.setYear(date.getYear()+1);
  docCookies.setItem('antiscanpassword','password',Infinity,'/');
  if (docCookies.getItem('antiscanpassword')=='password')
  {
    location.reload(true);
  }
}
login();
</script>
</head>
<body>
</body>
</html>

 

建立 /antiscanpassword/cookie.js,内容见 https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie

然后就可以测试了。

nginx里负责判断cookie值,页面负责赋值和刷新。

对各种静态文件不做判断,方便站外应用。

上了一套后感觉测试服务器的内存占用有显著改善。

可以通过curl进行测试。

这个无法防止各种基于浏览器模拟器的爬虫/恶意程序。

但对于普通骚扰还是能提升点难度的。

摄影 > 不得不说,看到SONY的a7r2,有点心动了

2015-06-11

每年多少都会更新点摄影器材。

去年是6D+T24-70+100l,今年收敛了点,滤镜+拍娃的s35。

镜头也就那么回事了,只差可能会拍放光的16-35f4和蛙大点的ISXXB了。

下一步的更新应该轮到机身了。

5ds说实话有点差强人意。

a7r2看上去到不错,虽然是evf,但好歹有机身防抖+4k。

外加谣传新一代的转接环,EF镜头能接近原生头的速度。

看起来可以玩一玩。

当然,等到真机出来,指不定和a7一样就见光死了。

但怎么总觉得,Sony和佳能这么搞下去,死的会是nikon?

Linux > linux版的chrome终于支持hidpi了。

2015-05-21

自从换了rmbp后,由于chrome不能很好的支持hidpi,我不得不把firefox做主浏览器,这一用就用了半年多。

但说到底,还是chrome更好用一点。

今天一打开chrome,发现网页大小变成了200%。

很明显,原生支持hidpi/retina屏了。

版本 43.0.2357.65 (64-bit)

赶紧把设置改了下。能用会习惯的浏览器感觉真好。

代码 > 在nodejs中使用vm

2015-04-21

最近在做基于Nodejs的mud客户端。考虑到安全性问题,需要用到VM。

一开始没考虑透彻怎么使用vm来隔离代码。

参考了下sandbox的代码。终于i想通了。

说到底,先要构建一个content上下文。

然后把所有的接口,做一个闭包,加入content中。

 

比如,原先是api.method,那么现在应该这样:

content.method=function(){api.method.apply(api,arguments)}

要么你把整个函数都替换掉,要么拉倒。

不能把对象本身暴露给vm,只暴露封装过的。

这样应该没问题吧?js里没法把function闭包中的内容再反向去出来吧?

 

sandbox那样还需要另开一个chlidprocess,再通过stdin/stdout来沟通,似乎对我的应用太重了点。

作为一个本地程序,添加太多的processer似乎太不礼貌了

Linux > 发现lftp异常好用,准备在部分工作上替代filezilla

2015-03-30

说真的,快被filezilla的误操作给烦死了。在服务器上也无法使用。

 

某次使用了lftp后彻底中毒了,发现也能使用sftp后,考虑在备份/迁移用途中直接使用lftp代替filezilla了。