存档

文章标签 ‘php’

PHP 5.3.9被黑客发现存在严重的安全漏洞

2012年2月4日 互联网事 没有评论

该漏洞(CVE-2012-0830)是由于PHP官方为解决多语言hash漏洞引入了新的机制产生的新的安全漏洞。

【漏洞影响版本】

PHP5.3.9

注:在修复PHP多语言hash漏洞时若采用直接打补丁的方式(补丁地址:点击查看)不受此漏洞影响。

【修复方案】

目前PHP官方已经紧急发布了5.3.10,下载地址为点击进入 ,请所有使用PHP 5.3.9版本的机器负责人尽快更新到PHP 5.3.10,建议更新前先进行测试。

之前还没有完成PHP多语言hash漏洞修复(即目前还没有升级到PHP 5.3.9)的同事现在可以直接升级到5.3.10来完成漏洞修复,不要再使用PHP 5.3.9版本。

mb_strimwidth() 函数不可用 解决办法

2012年2月1日 技术随笔 没有评论

强烈推荐mb_strimwidth() 函数进行截断,对于中文用户来说,这个函数是相当实用的,因为很多摘要的方法都会把中文字截断出乱码,因为中文字在 UTF-8 编码下占三个长度,是一个很尴尬的数字。8过,并不是所有主机都默认支持这个函数的,前提是要开启 mb_string 这个模块。那如果主机没有开启 mb_string 就不能使用 mb_strimwidth() 函数了吗?有没有变通的办法呢?答案当然是 YES,于是也就有了本文。

先在 WordPress 主题的 functions.php 文件中添加如下代码:

function dm_strimwidth($str ,$start , $width ,$trimmarker ){
    $output = preg_replace('/^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$start.'}((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$width.'}).*/s','\1',$str);
    return $output.$trimmarker;
}

接下来在需要的地方调用如下:

echo dm_strimwidth(strip_tags($post->post_content),0,200,'<a href="'.get_permalink().'">......[阅读全文]</a>');

用过 mb_strimwidth() 函数的朋友已经发现了,这个新建的函数和 mb_strimwidth() 的用法是一模一样的,如果你的主机不支持 mb_string 扩展库,那可以试试本文的方法。

IIS添加 mailparse 拓展

2010年5月27日 技术随笔 2 条评论

居然没能万能的百度上找到任何有用的资料`

到 http://downloads.php.net/pierre/ 下载 php_mailparse-cvs-20090512-5.2-Win32.zip

解压php_mailparse.dll 到 PHP\ext 目录

PHP.INI尾部添加

[PHP_MAILPARSE]
extension=php_mailparse.dll
extension=mailparse.so

重启IIS 搞定

dede模版包含php文件

2010年4月27日 技术随笔 4 条评论

DedeCMS模板引擎是严禁使用PHP语法的,不过为了灵活性,还是提供了runphp的属性,但这里面的代码是不能含有echo这类语法的,那以如果我想这么做那怎么办呢?其实程序是死的,人是活的,上有政策下有对策,方法也相当的简单,例如说,在根目录有一个文件echo.php

< ?php
echo "www.xiumu.org";
?>

阅读全文…

打破Zend的神话 – 黑刀DeZender

2010年3月31日 技术随笔 4 条评论

标题写的夸张了,MD5都被破解了` 小小的Zend又何足挂齿`

通过对DeZender的测试,35K的一个PHP文件,编译后只有一个大括号位置错误`

可以说,黑刀DeZender几乎可以完美的破解被Zend加密后的代码

PS:“md5都被破解了”这是错误的说法,只是说找到了快速找出具有相同md5特征串文本的算法,用有限位数的编码来表示无限的世界,这本身就是不可能的。

PHPStudy开启Rewrite模块

2010年2月26日 技术随笔 1 条评论

以前用的旧版本没发现这种情况~

升级到新版本后发现,默认设置下不支持Rewrite~

网上找到的解决方法为:

修改 httpd-conf 配置文件 把所有的AllowOverride None换成AllowOverride All 重新启动Apache即可~

一次无聊到蛋疼的入侵笔记

2010年2月3日 技术随笔 13 条评论

搞这个站是因为喜欢这个站的源码,想打包下来收藏~那么抄家伙上吧。。

系统是PHP+MYSQL,顺利拿到了后台权限

翻来翻去终于找到个图片上传的地方,某个不知名的编辑器中带的上传图片功能,过滤比较严密没能上马。 阅读全文…

Smarty – PHP 模板编译引擎

2010年1月27日 技术随笔 1 条评论

Smarty是一个使用PHP写出来的模板PHP模板引擎,是目前业界最著名的PHP模板引擎之一。它分离了逻辑代码和外在的内容,提供了一种易于管理和使用的方法,用来将原本与HTML代码混杂在一起PHP代码逻辑分离。简单的讲,目的就是要使PHP程序员同美工分离,使程序员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。

该如何使我的PHP脚本从设计中独立出来?这无疑地是在 PHP 邮件列表上所提问的最多的问题之一。虽然 PHP 被标榜为 “HTML 嵌入式语言”, 在写过许多php和html混合式的工程之后,我产生了一个分离表单和内容的想法。而且,在许多公司里规划设计者的角色和程序设计者是分开的。于是,这样的一个模板解决方案产生了……..

下载地址:Smarty

附:Smarty中文手册

根据客户端选择不同网页语言

2010年1月1日 技术随笔 5 条评论

PHP代码:

<?php
if(preg_match("/zh-cn/is",$_SERVER['HTTP_ACCEPT_LANGUAGE'])){
@header("Location:http://www.sina.com.cn");
}else{
@header("Location:http://www.sohu.com");
}
?>

阅读全文…

DedeEIMS 中英文混淆最终解决办法

2009年12月31日 技术随笔 4 条评论

之前一直是到_arctype表中修改tempindex,templist,temparticle字段中的{lang}为相应的目录,不过不好的地方就是每次新添加的栏目都要去修改这个参数,否则就会出现中英混淆的情况。 阅读全文…