手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表Tag:thinkphp

NeatCN.COM 另作他用了

各位朋友,neatcn.com我算是正式作为团队信息的博客来使用了。
当然我会拉着walker和hihiyou过来写一些技术博客(心情也要写写的),但我要求技术尽量是原创,如果转载优秀代码,一定要做详细注释以及转载原因。

请朋友们还重新更新一下rss的链接哦。

恐怖的图片程序 。。。

在网上看到介绍说Lifebox是一套快速,轻量级采用php/MySQL开发的照片与视频管理系统。设计用于管理大数据量多 媒体文件。支持直接在系统中播放视频,不需要下载到本地播放。支持用户注册按权限查看/评论你共享的照片与视频。此外Lifebox还拥有基于Ajax技 术实现的漂亮用户界面。

兴冲冲的去官网看了一下,结果吓的不敢装:
1、
mediainfo v0.7.9 or greater

2、imagemagick 6.3.7.9 or greater

3、ufraw 0.13-1build2 or greater 

看到这些我就晕了。当然还有一些其他的。。。不敢装了。【我认为恐怖的原因是一个小小的图片程序,居然需要外加这么多的插件,当然你可以说是为了效果,但总觉得不舒服,我安装了这些插件,我还得为服务器上的其他用户一一配置权限,让他们无法使用这些插件,因为他们可能会很占CPU,所以这个程序可能比较适合那些有独立服务器人来使用,或许会很爽吧。。】

更多的需求在这里:http://www.getlifebox.org/2009/03/install-lifebox-on-ubuntu-810-intrepid-ibex/

恐怖啊。不过看上去效果不错:

大小: 84.82 K
尺寸: 217 x 376
浏览: 1487 次
点击打开新窗口浏览全图

PHP tempnam()函数绕过safe_mode安全限制漏洞

影响版本:
PHP PHP 5.3.x
PHP PHP 5.2.x漏洞描述:
BUGTRAQ ID: 36555
CVE ID: CVE-2009-3557

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。

PHP的tempnam()中的错误可能允许绕过safe_mode限制。以下是ext/standard/file.c中的有漏洞代码段:

 

C++代码
  1. PHP_FUNCTION(tempnam)  
  2. {  
  3. char *dir, *prefix;  
  4. int dir_len, prefix_len;  
  5. size_t p_len;  
  6. char *opened_path;  
  7. char *p;  
  8. int fd;  
  9.   
  10. if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &dir, &dir_len,  
  11. &prefix, &prefix_len) == FAILURE) {  
  12. return;  
  13. }  
  14.   
  15. if (php_check_open_basedir(dir TSRMLS_CC)) { [1]  
  16. RETURN_FALSE;  
  17. }  
  18.   
  19. php_basename(prefix, prefix_len, NULL, 0, &p, &p_len TSRMLS_CC);  
  20. if (p_len > 64) {  
  21. p[63] = ’\0’;  
  22. }  
  23.   
  24. if ((fd = php_open_temporary_fd(dir, p, &opened_path TSRMLS_CC)) >= 0) {  
  25. close(fd);  
  26. RETVAL_STRING(opened_path, 0);  
  27. }  
  28. efree(p);  
  29. }  


在[1]处tempnam()函数仅检查了open_basedir值。<*参考 http://securityreason.com/securityalert/6601 ,http://secunia.com/advisories/37412/ *>

厂商补丁:

PHP
---
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_2/ext/standard/file.c?view=log
http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/ext/standard/file.c?view=log

消息来源:http://hi.baidu.com/isbx/blog/item/9607b3fbdb3988284e4aea53.html
不过,原作者的标题写错了。应该是tempnam函数,呵呵

关于set names

一般我们在设置数据库字符集的时候,都是用mysql_query('set names utf8')这样来处理,但其实这样处理的不全,象discuz等都是采用了全部的操作,它是这样的:mysql_query('character_set_connection=utf8, character_set_results=utf8 character_set_client=binary'),也只有这样,才会比较全面。
仔细看手册 ,手册上也这样写着:
  Note: This is the preferred way to change the charset. Using mysql_query() to execute SET NAMES .. is not reccomended.

那么,我们该怎么处理呢?从PHP5.2.3开始多了一个函数,它就是:mysql_set_charset,你可以:

PHP代码
  1. <?  
  2. $conn = .... //假设这是连接后的 resource ID  
  3. if( mysql_client_encoding ( $conn) != 'utf8' ){  
  4.     mysql_set_charset('utf8');  
  5. }  
这样才是比较推荐的用法。不过,这样的用法也是有要求的,手册告诉我们:

Note: This function requires MySQL 5.0.7 or later.

传说需要采用这样的方法,是因为set names在某些字符集的时候有安全隐患。

Tags: mysql, charset, php

PHP框架:Treacle 介绍

群友Bopo自己开发了一个PHP的framework。Bopo从认识到现在,大概也有四五年的时间了吧,不过这个框架的年龄并不是特别长,大概只有2年多左右。最早这个框架BOPO是自己做项目的时候一点点的做的,但后来他终于有想法将它逐步扩大成为了一个框架。

最初看到框架的时候,还是一个雏型,现在,比以前好多了,所提供的支持也多了很多。让我们来看看这个糖浆究竟有些什么。

Treacle 是个什么呢?

Treacle 为开发者轻松、快捷的创建应用程序提供帮助。Treacle 框架简单、清晰,容易理解和学习,并且有完全中文化的文档和丰富的示例程序降低学习成本。

Treacle 有什么特点?

  • 完全跨平台
  • 完全支持 PHP5
  • 不倚赖特别的 PHP 扩展模块
  • 简单、容易理解的 MVC 模型
  • 丰富的助手对象和组件
  • 开放源代码,完全中文化的注释和文档
  • 商业公司提供技术支持

如何获取技术支持?

您可以通过参与我们的论坛来获得技术支持。
官方网址:http://www.treacle.cn/

可能现在有些简陋,但是期待一下吧。

Tags: framework, treacle, bopo

Records:2112345