Ph4nt0m Webzine 0x03发布,看不懂这名字含义。不过文章是很好看
http://www.cncert.net/pstzine_0x03/pdf/PSTZine_0x03_0x06.pdf
以后不用mt_rand这种方法来取回密码。。试了一下,果然是这样
Submitted by 月黑风高 on 2009年05月06日 10:58:56
Ph4nt0m Webzine 0x03发布,看不懂这名字含义。不过文章是很好看
http://www.cncert.net/pstzine_0x03/pdf/PSTZine_0x03_0x06.pdf
以后不用mt_rand这种方法来取回密码。。试了一下,果然是这样
Submitted by 月黑风高 on 2009年04月29日 21:37:59
1。一个月时间,封闭了后端,模仿的zf封装一个简单的框架,zf太大,我想用只是那么一点点,看了qeephp,用了领域编程,有点不好掌握,模仿了手机之家封装了一个memcache+db的简单DAL,用的还不错,但是业务交叉比较多,表到数据库的映射不好掌握,我的程序很山寨。
2。我JS一直不行,写出这个前端还是Jquery功能NB,我在一些Jquery GPL插件的基础封装一个插件,屏蔽掉底层操作,有一些地方也分离了请求和模板,前端的样子大概是出来了,后面改动也逃不出这个大局。JS对象是鸡肋?我没发现太大的用处,但是前端还是全部用对象,我把它当成命运空间来用,挺爽的,结构看起来也清晰。
3。之前我一直考虑GB2312还是utf8,后来还是用utf8,方便,不过数据数据传输大了一些,主要就是JSON之后的汉字,我封装了前端的语言包,但是没有去用,算来算去太麻烦,上线根据情况再调整。有很多Jquery的功能好像没用,程序稳定了以后计划进行一些删减。我的前端也很山寨。
4。发现一些sns目录结构
/account/detail/index.php
/account/list/index.php
这样就可以用/account/detail/?xxx来访问。。看起来结构比较清晰,核心也肯定比较小。
3.今天是林空昭4空1周年,缅怀那些忠于自己,勇敢的人,时光流逝,今天依然清澈。
Submitted by 月黑风高 on 2009年03月15日 17:39:10
晚天搞到三点多,把ZF默认的目录结构做了一些修改,配置一些文件,放到SVN中
以前扯淡过一次通行证,不过当时知道的比较少,这次再扯一次,
通行证,我知道有两种,一种是cookie加密,一种是memcached做的令牌
1. cookie 小站用的比较多,问题是不支持分布,也不能解决多地登录,在不在线,还有不能放太大的数据量,毕竟每次请求都附上cookie。
2. 令牌可以解决cookie的一些问题,很多网站都在用,好处就是支持分布式,N个应用都可以自由判断用户登录没登,不好的地方的是保持不方便。
令牌一般有两组,一组只保存很少的信息:用户ID=>(登录时间,客户端IP),这个是用来快速判断。
另一组才是真正的令牌:md5(用户id+登录时间)=>其它信息,用户每次登录都会刷新这个令牌。
想过用memory表,效率太差,比较好的方法是把这两个结合起来:
在线的用户会放在memcached中,假设设置时间是60m, 过期就是不在线,可以解决在线问题。
用户本地有cookie, 如果解密成功且memcached中没有用户信息则设置,此时同一用户可以多地登录的。
如果应用程序要求比较严格,不允许多地登录,则可以用memcached中保存的客户端信息来确定当前唯一登录用户。
在线保持还会有一个效率问题,因为要刷新在线时间,保持状态,不过比较好解决,简单的就是设置长一点过期时间和随机刷新。
总体上来说:
cookie: (rc4或xxtea) 用户ID, 登录时间戳
memcache第一组:用户ID=>(登录时间,客户端IP(更严格一点可以包括浏览器信息))
memcache第二组:md5(用户id+登录时间)=>其它信息
这样做有一个很不好的地方,增加了其它应用判断是否登录的复杂度,以前只要检测memcached就可以了,现在还要检查一下cookie, 不过借助于js的还是比较容易解决。
另外,这样会有一些安全问题,比如用户改了密码以后,原来的cookie还能用,这个问题解决应该和全站安全一起考虑,用户在注册的时候随机生成的key,位数可以少一点,这个key是用来确认客户端cookie有效的,也可以用来防止跨站请求伪造,也可以md5的时候加上,形成双密码保护,功能多多。。
Submitted by 月黑风高 on 2009年02月24日 19:24:32
一个起步教程
可能教程的版本比较旧
1。httpresponse已经挪到django.http下面了,放在__init__.py这个感觉没什么用的文件里,找了好一会儿
框架的文件全放在site-packages里面,没想到和zf差不多,传入request对象,输出response对象
2。egg是什么格式
3。昨天清理笔记本,有二颗螺丝滑丝了,死按拧上了一个,用了快二年。宽裕的时候换一个。
Submitted by 月黑风高 on 2009年02月23日 18:06:25
今天把django,NND,这个单词我还不会拼,给装了,没用nginx,担心把我的php环境给搞坏了,用他自带的那个web server,
1。现在一头雾水,以前用php就是开启fastcgi监听,web server转发处理响应,然后把框架布署在目录里,django把这些东西都放在一起,我茫然了,迷茫了,找不前进的方向了,恶。。
2。试了一下php gtk,这种鸡肋的东西,除了证明一下PHP能写桌面也没别的用了。
3。wxpython GUI组件 http://www.ibm.com/developerworks/cn/linux/sdk/python/wxpy/
4。PHPRPC 比 soap之类的东西简单多了,好用多了。。就是页面太艺术。。
mod:将解释器加载为web server 的一部分
cgi:每次接受请求解释器都会初始化,比较消耗资源
fastcgi:会生成解释进程,常驻内存,速度比较理想
cli:php安静模式,一般在命令行下用
饿了,撤
Submitted by 月黑风高 on 2009年02月18日 12:55:29
http://www.javaeye.com/post/886707?page=11
一直不订javaeye的blog,几个血红大字,还有血红的推荐。
这里记录
update:09/02/23
http://www.javaeye.com/topic/141889
还是订了,这里记那个论坛的文章
Submitted by 月黑风高 on 2009年02月16日 23:38:33
类和异常与文件处理,没什么特别的。。很想睡觉,困
py类中的变量就相当静态变量
Submitted by 月黑风高 on 2009年02月13日 23:58:25
看完了,对数组的映射和过滤有了比较清楚的了解,这么快就看到了最爱用的三元运算,这章的例子非常有用,我默了出来
第二个表达式一定不能为 false,否则完蛋。。