Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

UTF8,Final版本SupeSite验证码无法正常显示问题!~~!!~

[复制链接]
youke 发表于 2006-11-9 07:39:40 | 显示全部楼层 |阅读模式
http://home.163ee.com/batch.seccode.php

别说让我二进制上传,我是在服务器上下载的~~别说GD库没装。。。没装我的新闻系统就不能自动生成缩略图。。。。所有的一切都没有问题~~~Sup大大下面说的那个方法我也改过。。也是一样不行!
服务器经测试,全新安装也一样不行。。。看来是服务器的事儿。。。可是不知道到底是那里的事儿~~因为论坛的验证码正常~~
。。。我就奇怪了呢,为啥我本机的win2000就可以,服务器是2003就不行呢????只不过本机是全新安装,服务器上是升级。。。。怪怪。。
本机全新安装正常环境如下:
操作系统:Win2000
PHP版本:5.1.2
MYSQL版本:4.1.16
ZEND版本:2.6.2
服务器升级环境如下:
操作系统:Win2003
PHP版本:5.1.2
MYSQL版本:4.1.16
ZEND版本:3.0.2


报错提示:

  1. ?PNG  IHDR>^?m?PLTE??[Z8?c?o;9???褧 &#871;?&#1244;&#1921;,??&#680;&#228883;?}?&#1240;??_???é&#567;e?B&#232292;TJ?&#1870;號?J?в菼??&#816;???&#994384;????&#796;6?v{&#54388;c&#1480;?`?]?&#2009;L?(&#7973;?v?&#15709;4?&#1386;???&#5188;!!O&#996645;??*D?y&#1174;?&#1535;???&#17294;&#2009;??A???&#855;&#4283;?T*L&bx??&#2013;k&#281;???&#381; ??C3?&#1893;d瓫&#1756;Z? G???&#2526;_q>靝?9:&#701;?-&#226797;&#1981; ??&#1128;&#1169;?t&#1481;&#4961;?[&#7515;?&#829;蚟?1&#47815;\?Vc8]&#1667;&#828;&#1647;?J ?&#8910;&#1453;?h\??&#1262;! ?&Aacute;&#10041;/???????&#62082;???E&#976;o???z&#1994;k&#1793;U,:&#347;? ?U<?爇n&#55502;???? _&#1937;?&#425; IEND?B`?
复制代码


使用Sup修正后的文件后,提示为:

  1. &#65279;?PNG  IHDR>^?m?PLTE?~?&#1342;??O&#1254;`?i?J??? T &#1392;?F?&#63330;?4?=J?kIpt!???Jt&#1475;?&#909;?&?婔U???0&#265;?1???_??&#47434;_&#1627;e[3??u_&#6931;セ&#8055;????8??kJ??=?2Km?@&#1703;?[?R?&#1232;Ty?2?N&#12057;????D&#8226;f???&#1843;?&#41557;?@4&#45470;&#1249;дsR;?&#50149;&THORN;&#438;Y{~V?&#585;7d&#203355;?????_E&#1825;_?&#1596;??&#1129;ARC???x&#6664;?l^5e?&#1557;??l&#974;? &#1728;fIDATx??&#1225;J&Agrave;&#4051; ??&#1706;?7&#1928;??w&#2047;1&#1836;=??H?&#1644;?3&#1268;莔肇????&#14214;&#337882;&#413;?&#41684;!W&#1119;'I↑?N???3&#14534;C&#351595;?8?&#1591;?&#139019;??&#1137;?]谉?&#1380;&#1495;bx&#18912;???[&#1940;??*?&#1636;齶&#418085;]?&#535699;?:?E??rW<&#55153;伞&#616302;?&#340135;:A?N??&#503; &#410;m5_&#45173;7Y&#673;&#2012;0]&#889593;#??&#824;&iquest;?糳????|?&#1976;&#57141;??P?&#671;?g??Ony&#380;3&#972;&#880;&#1711;M&#56468;???&#562;+仓&#394220;37&#1504;?k?&#1196;_,1?`l?z?縃&#1903;&#285721;&#1482;?&#363333;?)>P?&#1022;?.IEND?B`?
复制代码


$headercharset也设为 0了。。


请解决。。。。。。。

[ 本帖最后由 youke 于 2006-11-11 16:02 编辑 ]
sup 发表于 2006-11-9 11:45:35 | 显示全部楼层
1。 修改 config.php 文件,将 $headercharset 设为 0

2。 把 batch.seccode.php 文件修改如下:

  1. <?php

  2. /*
  3.         [SupeSite/X-Space] (C)2001-2006 Comsenz Inc.
  4.         验证码图片

  5.         $RCSfile: batch.seccode.php,v $
  6.         $Revision: 1.12.4.2 $
  7.         $Date: 2006/11/06 06:17:08 $
  8. */

  9. include_once('./include/main.inc.php');

  10. $nocacheheaders = 1;

  11. $seccode = random(4, 1);
  12. $seccode = sprintf('%04d', $seccode);

  13. $supe_hash = authcode($_SGLOBAL['timestamp']."\t".$seccode, 'ENCODE');
  14. ssetcookie('supe_hash', $supe_hash);

  15. if($nocacheheaders) {
  16.         @header("Expires: -1");
  17.         @header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
  18.         @header("Pragma: no-cache");
  19. }

  20. if(function_exists('imagecreate') && function_exists('imagecolorset') && function_exists('imagecopyresized') && function_exists('imagecolorallocate') && function_exists('imagesetpixel') && function_exists('imagechar') && function_exists('imagepng')) {
  21.         $im = imagecreate(62, 25);
  22.         $backgroundcolor = imagecolorallocate ($im, 255, 255, 255);

  23.         $numorder = array(1, 2, 3, 4);
  24.         shuffle($numorder);
  25.         $numorder = array_flip($numorder);

  26.         for($i = 1; $i <= 4; $i++) {
  27.                 $imcodefile = 'images/system/number'.$seccode[$numorder[$i]].'.gif';
  28.                 $x = $numorder[$i] * 13 + mt_rand(0, 4) - 2;
  29.                 $y = mt_rand(0, 3);
  30.                 if(file_exists($imcodefile)) {
  31.                         $imcode = imagecreatefromgif($imcodefile);
  32.                         $data = getimagesize($imcodefile);
  33.                         imagecolorset($imcode, 0 ,mt_rand(50, 255), mt_rand(50, 128), mt_rand(50, 255));
  34.                         imagecopyresized($im, $imcode, $x, $y, 0, 0, $data[0] + mt_rand(0, 6) - 3, $data[1] + mt_rand(0, 6) - 3, $data[0], $data[1]);
  35.                 } else {
  36.                         $text_color = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 128), mt_rand(50, 255));
  37.                         imagechar($im, 5, $x + 5, $y + 3, $seccode[$numorder[$i]], $text_color);
  38.                 }
  39.         }

  40.         $linenums = mt_rand(10, 32);
  41.         for($i=0; $i <= $linenums; $i++) {
  42.                 $linecolor = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));
  43.                 $linex = mt_rand(0, 62);
  44.                 $liney = mt_rand(0, 25);
  45.                 imageline($im, $linex, $liney, $linex + mt_rand(0, 4) - 2, $liney + mt_rand(0, 4) - 2, $linecolor);
  46.         }       
  47.        
  48.         for($i=0; $i <= 64; $i++) {
  49.                 $pointcolor = imagecolorallocate($im, mt_rand(50, 255), mt_rand(50, 255), mt_rand(50, 255));
  50.                 imagesetpixel($im, mt_rand(0, 62), mt_rand(0, 25), $pointcolor);
  51.         }

  52.         $bordercolor = imagecolorallocate($im , 150, 150, 150);
  53.         imagerectangle($im, 0, 0, 61, 24, $bordercolor);

  54.         header('Content-type: image/png');
  55.         imagepng($im);
  56.         imagedestroy($im);
  57. } else {
  58.         $numbers = array
  59.         (
  60.                 0 => array('3c','66','66','66','66','66','66','66','66','3c'),
  61.                 1 => array('1c','0c','0c','0c','0c','0c','0c','0c','1c','0c'),
  62.                 2 => array('7e','60','60','30','18','0c','06','06','66','3c'),
  63.                 3 => array('3c','66','06','06','06','1c','06','06','66','3c'),
  64.                 4 => array('1e','0c','7e','4c','2c','2c','1c','1c','0c','0c'),
  65.                 5 => array('3c','66','06','06','06','7c','60','60','60','7e'),
  66.                 6 => array('3c','66','66','66','66','7c','60','60','30','1c'),
  67.                 7 => array('30','30','18','18','0c','0c','06','06','66','7e'),
  68.                 8 => array('3c','66','66','66','66','3c','66','66','66','3c'),
  69.                 9 => array('38','0c','06','06','3e','66','66','66','66','3c')
  70.         );
  71.         for($i = 0; $i < 10; $i++) {
  72.                 for($j = 0; $j < 6; $j++) {
  73.                         $a1 = substr('012', mt_rand(0, 2), 1).substr('012345', mt_rand(0, 5), 1);
  74.                         $a2 = substr('012345', mt_rand(0, 5), 1).substr('0123', mt_rand(0, 3), 1);
  75.                         mt_rand(0, 1) == 1 ? array_push($numbers[$i], $a1) : array_unshift($numbers[$i], $a1);
  76.                         mt_rand(0, 1) == 0 ? array_push($numbers[$i], $a1) : array_unshift($numbers[$i], $a2);
  77.                 }
  78.         }

  79.         $bitmap = array();
  80.         for($i = 0; $i < 20; $i++) {
  81.                 for ($j = 0; $j < 4; $j++) {
  82.                         $n = substr($seccode, $j, 1);
  83.                         $bytes = $numbers[$n][$i];
  84.                         $a = mt_rand(0, 14);
  85.                         switch($a) {
  86.                                 case 1: str_replace('9', '8', $bytes); break;
  87.                                 case 3: str_replace('c', 'e', $bytes); break;
  88.                                 case 6: str_replace('3', 'b', $bytes); break;
  89.                                 case 8: str_replace('8', '9', $bytes); break;
  90.                                 case 0: str_replace('e', 'f', $bytes); break;
  91.                         }
  92.                         array_push($bitmap, $bytes);
  93.                 }
  94.         }

  95.         for ($i = 0; $i < 8; $i++) {
  96.                 $a = substr('012', mt_rand(0, 2), 1) . substr('012345', mt_rand(0, 5), 1);
  97.                 array_unshift($bitmap, $a);
  98.                 array_push($bitmap, $a);
  99.         }

  100.         $image = pack('H*', '424d9e000000000000003e000000280000002000000018000000010001000000'.
  101.                         '0000600000000000000000000000000000000000000000000000FFFFFF00'.implode('', $bitmap));

  102.         header('Content-Type: image/bmp');
  103.         echo $image;
  104. }

  105. function random($length, $numeric = 0) {
  106.         mt_srand((double)microtime() * 1000000);
  107.         if($numeric) {
  108.                 $hash = sprintf('%0'.$length.'d', mt_rand(0, pow(10, $length) - 1));
  109.         } else {
  110.                 $hash = '';
  111.                 $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
  112.                 $max = strlen($chars) - 1;
  113.                 for($i = 0; $i < $length; $i++) {
  114.                         $hash .= $chars[mt_rand(0, $max)];
  115.                 }
  116.         }
  117.         return $hash;
  118. }

  119. ?>
复制代码
回复

使用道具 举报

samwee 发表于 2006-11-9 13:07:19 | 显示全部楼层
不行不行。。

我已经把管理所需要的帐号密码都给茄子了。。
回复

使用道具 举报

 楼主| youke 发表于 2006-11-9 15:53:44 | 显示全部楼层
不行不行。。。还是不行。。我就奇怪了呢,为啥我本机的win2000就可以,服务器是2003就不行呢????只不过本机是全新安装,服务器上是升级。。。。怪怪。。我在提问的时候也说了,Sup大大的方法我都试过了,根本不行的说~~~~
回复

使用道具 举报

 楼主| youke 发表于 2006-11-10 19:49:05 | 显示全部楼层
只说了一句话就找不着人啦。。。Sup大大。。。。解决一下这个问题吧。。。
回复

使用道具 举报

 楼主| youke 发表于 2006-11-11 15:56:04 | 显示全部楼层
只说了一句话就找不着人啦。。。Sup大大。。。。解决一下这个问题吧。。。
回复

使用道具 举报

 楼主| youke 发表于 2006-11-11 16:02:44 | 显示全部楼层
原帖由 sup 于 2006-11-9 11:45 发表
1。 修改 config.php 文件,将 $headercharset 设为 0

2。 把 batch.seccode.php 文件修改如下:

<?php

/*
         (C)2001-2006 Comsenz Inc.
        验证码图片

        $RCSfile: batch.seccode.php,v $
        $Re ...



SUP大大的这个方法没用~
回复

使用道具 举报

dfgsd 发表于 2006-11-11 21:28:02 | 显示全部楼层
感谢大大帮忙解决
回复

使用道具 举报

 楼主| youke 发表于 2006-11-12 16:45:00 | 显示全部楼层
还是没有人来解决啊?!?!就算现在解决不了,给我们一个话啊!!!现在的DZ怎么这样?!?
回复

使用道具 举报

sup 发表于 2006-11-13 10:07:45 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-16 02:57 , Processed in 0.045216 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表