今天早上在这里看到的,觉得很有必要记录一下:http://www.milw0rm.com/exploits/7171 一个简单的翻译如下:
以前分析过 Zend Framework 1.0 的 Zend_Loader;php 内建函数 is_readable 本质上就是调用 filestat.c 的 php_stat 函数,这个在前几天关于 file_exists 和 is_file 的那个 post 中有说过。 今天在群上跟番茄吹水,说起来这个东西。于是又混一篇小记随便吹吹。 以下所有内容,45%是吹水,45%是猜测,10%是从代码中看出来的。
首先,写本文的原因是看到番茄的这个 post:http://www.tblog.com.cn/archives/675 我没有重新测试,对于番茄的测试,我觉得绝对靠谱。 But why? 于是打开 php 的代码寻找到了 is_file 和 file_exists 的实现。其实原因简单到让人无法相信!
最近在浏览同事之前写的代码的时候,发现大量的变量引用使用在 foreach 中: 1 <?php 2 $a = array( ‘a‘, ‘b‘, ‘c‘, ‘d‘); 3 foreach($a as &$v) { 4 $v = $v . ‘_bar‘; 5 } 6 var_dump($a);
在公司還是要用 windows 的。于是 windows 下的 php 調試成為了一個麻煩。 在 xdebug 的文檔中看到了這個開源的編輯器,安裝試用了一下,感覺不錯。 調試起來比 notepad ++ 穩定,界面也有好許多。調試 php 不需要任何配置,連插件都不用裝。setup 之后直接打開要調試的文件,然后點需要斷點的行的行編號。在 firefox 里打開 xdebug session 插件,刷新頁面。就 OK 了。真是夠傻瓜化的。 http://tswebeditor.net.tc/
今天才知道這個消息,1.5 做了很多改動,包括路由部分的大小寫解析方式也同以前 1.0x 不同。新功能對于只用 Zend Framework 開發普通網站的人來說并不是十分要緊。Zend_Form 和 Zend_Layout 反而會增加頁面編輯的難度。 * New Zend_Form component with support for AJAX-enabled form elements * New action and view helpers for automating and facilitating AJAX requests and alternate response formats * LDAP, Infocard, and OpenID authentication adapters * Support for complex Lucene searches, including fuzzy, date-range, and wildcard queries [...]
27
Aug
下载 9月2日的讲义幻灯和代码示例。 在线演示:www.i-fang.com/php/lucene4php/search.php 内容如下:
www.oracle.com/technology/global/cn/pub/articles/oracle_php_cookbook/mckay_objects.html 虽然是 05 年的了,但现在看还是不错的一篇文章。应该也可以用于 mysql。
30
Jul
前几天,搞掂了 xdebug 和 xcache 的共存问题。很简单,先加载 xcache 再加载 xdebug 就相安无事。否则,就会有非法的内存访问。 结果没想到,今天又遇到了,之前一直没留意过。必须先加载 mbstring 才能加载 exif 。晕死啊!搞了20分钟。 大风大浪都过去了,小河沟里翻了船。 xcache => xdebug mbstring => exif 还有么?慢慢补充吧。