Archive for the 'Develop' Category

用php_screw加密PHP代码

Monday, August 4th, 2008

开始之前,首先要澄清两个问题:第一,支持开源,不等于反对代码加密;第二,如果把不属于自己的东西(比如公司的)拿去开源,就更加不应该了。 以前知道的,PHP代码的加密都是用Zend的encoder,这东西不但是商业软件,好像还暴出过能够被破解的问题,所以就找到了替代的方案────php_screw,一个日本人开发的东东。 php_screw非常小巧,没有仔细看过它的算法,但从说明文档中看,可以自行更改SEED,然后自行编译so和可执行档。如果够牛的话,甚至可以自己去更改算法。不管怎样,对于我们这些“普通人”来说,这种加密应该就够了吧,如果真想滴水不漏,那还是不要公开的好,虽然作者说的并不是很容易就破解,但指不定哪儿有牛群呢不是么? 安装的环境需要:PHP5.x,zlib开启,autoconf,automake已安装。

......[阅读全文]

Tags: , ,

由一个错误学到的一些php安全配置问题

Sunday, July 13th, 2008

错误 在MediaTemple主机从(dv)3.0升级到3.5之后,我遇到的第一个问题就是一个莫名奇妙的php错误: [Sat Jul 12 04:51:27 2008] [error] [client 121.42.26.81] PHP Warning: require_once(/var/www/vhosts/fwolf.com/include/fwolflib/func/config.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream: Operation not permitted in /var/www/vhosts/fwolf.com/httpdocs/info.php on line 4 [Sat Jul 12 04:51:27 2008] [error] [client 121.42.26.81] PHP Fatal error: require_once() [<a href='function.require'>function.require</a>]: Failed opening required ‘/var/www/vhosts/fwolf.com/include/fwolflib/func/config.php’ (include_path=’.:/var/www/vhosts/fwolf.com/include’) in /var/www/vhosts/fwolf.com/httpdocs/info.php on line 4

......[阅读全文]

Tags: , , , , , , , , , ,

生成用于web服务器的openssl证书

Wednesday, June 25th, 2008

要启用https,就一定要有ssl证书,MT主机上有一个默认的证书,但是签署给plesk这个域名的,并且没有根证书认证,所以,自己搞个CA,给自己签个假证书用吧,至少好看些。 说实话,关于证书这些我也是一知半解,以前弄过apache的ssl,但那只是简单的处理,没有CA什么的,这次我上网搜集了不少资料,走了一个算是更“高级”一点的方式吧,不过出来的证书使用起来没有大差别。 注:所有操作在/big2/tools/ca下进行。 准备根证书

......[阅读全文]

Tags: , , , , , ,

HTTP–>HTTPS

Saturday, June 21st, 2008

我无法愤怒,因为不知道该生谁的气。 几天前,网站突然无法访问了,没有响应(不是reset),一开始还以为事网络的问题,后来发现不是,用其他国外主机作跳板可以正常访问,也就是说,在出国的网络出口被DROP了。 我和我们合租的邻居们不会有什么过激的言论,也没有什么PORN的内容,咋就这样了呢。没有客服,原因也没法找了,只能先恢复访问,向MT提交了support request,很快(33分钟后)就得到了的IP,应用在主机上,谁知才2天,又完蛋了。 现在要了第3个IP(这次的响应速度更快,12分钟),同时准备把所有http访问重定向到https访问,算是有些强制吧,弄了个脚本定时执行。没办法,没有别的招数,如果再被封,我也回天无术了。

......[阅读全文]

Tags: , , ,

忙碌的5月

Friday, June 13th, 2008

2008年的5月是难以忘怀的,有人戏称是上帝的手机不小心开了震动模式了,权当是我们勇敢面对明天的一点自我安慰吧,逝者已矣。这么大的事件,我没帮上什么忙,也没帮上什么倒忙,除了捐了自己微薄的一个月工资以外,几乎什么都没有作,有些惭愧,但我也没闲着,原先考虑的.NET还是PHP?问题基本被消灭掉了,灾要救,其余的工作也要继续,不是么? 这个项目我最终选择了用PHP来作,原因不再说了,正确性让时间去证明吧。工作内容大体分两部分,一个比较简单的子系统和另外一个大一点,逻辑关系和计算规则比较复杂,专业性也较强的子系统。之所以说是子系统,这次开发的内容仍然要和原来.NET的系统一起使用,换个说法就是只升级了一部分,而原来的系统就是.NET和Java混合着用的,现在.NET、Java、PHP全到齐了:-)。 因为只是子系统开发、升级,所以用户管理、验证部分仍然使用原系统中的,省去了这部分的工作量,但需要作一些焊接的工作。 数据库方面,原系统仍然使用Sybase,新系统换到mysql库,为此专门搞了一个单向同步数据的模块,放到cron中每隔5分钟执行一次,效果还可以接受,同步过来的数据也算是对原Sybase的一个备份。不过库结构的命名是全新的,并且除字典表以外,主键全面从identity转向uuid。自定义的uuid按时间排序,还分配了可自定义部分,目前感觉使用效果应该比identity要好,还是需要时间证明了。uuid的调试是麻烦些,需要一点小技巧和烂笔头,还有phpMyAdmin这个好工具。

......[阅读全文]

Tags: , , , , , , , , ,