杂言碎语 > 反省,不要再和论坛上何人打口水杖了
2015-09-16
我自认是一个有想法,有判断力的人。
愿意在网络上表达自己的观点。
很看不上那些讲不上道理,只会逞口舌之快的人。
觉得没必要在意那些低级的人,让他们厌恶我是意见很好的事。
至于口舌之利,谁又怕了谁。
到现在,这个观点也没改变。
但昨天在无忌被和肆意攻击我的人一起被禁言,让我不禁反思了下自己。
的确,我一直试图在我活跃的论坛做一个有价值的人。
但不代表,我在言语之争时不给别人带来困扰。
也不代表,别人用低级的方式攻击我,我也做相应的回击,就不低级了。
既然自认很多人的确档次不如我,这么耿耿于怀只能自掉身价而已。
以此帖自勉,从此以后在网络上戒嗔。对于有脱离题目吵架的倾向的人,一律做如下回答。
为避免吵架浪费所有阅读者的精力,我不会再回复您在此帖里的其他回复。否则我就是一个自打耳光言而无信的人。
代码 > 解决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了。