• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

织梦吧 - dedecms,网站模板,建站教程,图片素材免费下载

DedeCMS视频教程
当前位置: 织梦吧 > CMS教程 > phpwind教程 >

phpwind 安全补丁包修补说明

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-06点击:
 

安全补丁说明
安全级别
:高~  75以上版本必须打补丁!
更新内容:修复8.0版本以及7.5版本(含正式版,sp1,sp2,sp3以及sp3优化包),中存在的安全问题

安全补丁下载地址:http://www.phpwind.net/read-htm-tid-1081860.html
准备工作
1)打补丁之前,建议先将站点关闭,并做好备份以备万一;
2)我们提供了两种不同的方法供同学们参考,请根据实际情况选择适合的方法。
3)方法二请参考对应文件夹下的readme.txt进行修改,本帖方法二为phpwind 8 手动修改方案举例。

方法一:覆盖文件
首先:下载站点对应的安全补丁包
1)下载站点对应的安全补丁包:本次提供了如下几种安全补丁包:具体参考noizy发布的帖子--phpwind 7.5~8.0安全补丁[重要!更新时间20100906]
其中,safe_75plus_gbk_20100906.zip命名的包为phpwind 7.5 sp3优化包的安全补丁包,请同学下载自己站点对应程序的安全补丁包。

2)每个安全补丁包下有三种不同的编码: GBK 简体中文版、繁体中文版BIG5、UTF-8中文版。请根据您所需的编码,选择相应版本的论坛程序下载。

图片:2.png



以下演示修补phpwind 8正式版gbk编码形式为例,供童鞋们参考:
第一步:下载phpwind 8 对应安全补丁包,找到对应编码的安全补丁包,解压为后得到两个文件:upload文件夹、readme.txt说明文档,进入upload文件夹,得到如下文件:

图片:01.png



第二步:找到站点根目录,上传upload文件夹下的四个文件到站点根目录下,以覆盖原站点程序。如下:     

第三步:补丁更新完成。

至此,您的站点安全补丁包已经打好了,重新运行你的站点。
 

方法二:手动修改
        本帖例举phpwind 8 readme.txt 方法进行手动修改
其它版本请参考对应文件夹下的readme.txt说明进行修补


1.打开:admin/setforum.php

查找:
 
  1. $db_uploadfiletype = !empty($db_uploadfiletype) ? (is_array($db_uploadfiletype) ? $db_uploadfiletype : unserialize($db_uploadfiletype)) : array(); 
  修改为:
 
  1. $db_uploadfiletype = array(  
  2.                 'gif'  => 2048,                'jpg'  => 2048,  
  3.                 'jpeg' => 2048,                'bmp'  => 2048,  
  4.                 'png'  => 2048  
  5.             ); 
  2.8.0 无需修改pw_ajax.php

3.打开:actions\ajax\pcdelimg.php
替换整个文件内容为:
 
  1. <?php 
  2. !defined('P_W') && exit('Forbidden');  
  3.  
  4. InitGP(array(  
  5.     'pctype'  
  6. ));  
  7. InitGP(array(  
  8.     'fieldid',  
  9.     'tid',  
  10.     'id'  
  11. ), GP, 2);  
  12. if (!$tid || !$id || !$fieldid || !$pctype) {  
  13.     echo 'fail';ajax_footer();  
  14. }  
  15.  
  16. if ($pctype == 'topic') {  
  17.     $tablename = GetTopcitable($id);  
  18. } elseif ($pctype == 'postcate') {  
  19.     $tablename = GetPcatetable($id);  
  20. }  
  21.  
  22. $fieldname = $db->get_value("SELECT fieldname FROM pw_pcfield WHERE fieldid=".pwEscape($fieldid));  
  23. if (!$tablename || !$fieldname) {  
  24.     echo 'fail';ajax_footer();  
  25. }  
  26. $path = $db->get_value("SELECT $fieldname FROM $tablename WHERE tid=" . pwEscape($tid));  
  27.  
  28. if (strpos($path, '..') !== false) {  
  29.     echo 'fail';ajax_footer();  
  30. }  
  31. $lastpos = strrpos($path, '/') + 1;  
  32. $s_path = substr($path, 0, $lastpos) . 's_' . substr($path, $lastpos);  
  33.  
  34. if (!file_exists("$attachpath/$path")) {  
  35.     if (pwFtpNew($ftp, $db_ifftp)) {  
  36.         $ftp->delete($path);  
  37.         $ftp->delete($s_path);  
  38.         pwFtpClose($ftp);  
  39.     }  
  40. } else {  
  41.     P_unlink("$attachdir/$path");  
  42.     if (file_exists("$attachdir/$s_path")) {  
  43.         P_unlink("$attachdir/$s_path");  
  44.     }  
  45. }  
  46.  
  47. $db->update("UPDATE $tablename SET $fieldname='' WHERE tid=" . pwEscape($tid));  
  48.  
  49. echo 'success';  
  50.  
  51. ajax_footer();  

4.打开:apps\activity\action\my.php

查找:
 
  1. if ($otherpartyname) {  
  2.         $where ." AND (log.username LIKE ".pwEscape('%'.$otherpartyname.'%').  
  3.                     " OR author LIKE ".pwEscape('%'.$otherpartyname.'%').  
  4.                     " OR log.fromusername LIKE " . pwEscape('%' . $otherpartyname . '%') .   
  5.                     ") AND '" . $otherpartyname . "'!='" . $windid . "'";  
  6.         $pageUrl .'otherpartyname='.$otherpartyname.'&';  
  7.     } 
  修改为:
标签: phpwind
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 tom@tiptop.cn ,  QQ