關於部落格
「 相本、程式....Not worth a rap 。」
  • 16696

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

OSC的安全認證碼及其更改

檔案位置:
www/includes/modules/show_vvcode.php

檔案內容的中文註解:
<tr> 
        <!-- 請輸入安全認證碼-- --> 
       <td class="main"><?php echo VISUAL_VERIFY_CODE_TEXT_INSTRUCTIONS; ?></td> 
        <!-- 輸入安全認證碼的空格-- -->  
        <td class="main"><?php echo tep_draw_input_field('visual_verify_code'); ?></td> 

        <td class="main">
        <?php
            // ----- begin garbage collection --------
            $included_code_query = tep_db_query("SELECT oscsid, code, dt FROM " . TABLE_VISUAL_VERIFY_CODE);
            $endtime = time();

            while ($included_code = tep_db_fetch_array($included_code_query)) {
               $starttime=mktime(
               substr($included_code['dt'], 11, 2),   // hour
               substr($included_code['dt'], 14, 2),   // minute
               substr($included_code['dt'], 17, 2),// second
               substr($included_code['dt'], 5, 2),   // month
               substr($included_code['dt'], 8, 2),   // day
               substr($included_code['dt'], 0, 4)   // year
               );
            $timediff = intval(($endtime-$starttime)/3600);

               if ($timediff > 5) {   // 5+ hours should be enough to fill in a form
               tep_db_query("DELETE FROM " . TABLE_VISUAL_VERIFY_CODE . " WHERE code='" .$included_code['code'] . "' AND dt='" .$included_code['dt'] . "'");
               } 
            }
            // ----- end garbage collection -------- 
            //can replace the following loop with $visual_verify_code = substr(str_shuffle (VISUAL_VERIFY_CODE_CHARACTER_POOL), 0, rand(3,6)); if you have PHP 4.3 
              $visual_verify_code = ""; 
              for ($i = 1; $i <= rand(3,6); $i++){ 
               $visual_verify_code = $visual_verify_code . substr(VISUAL_VERIFY_CODE_CHARACTER_POOL, rand(0, strlen(VISUAL_VERIFY_CODE_CHARACTER_POOL)-1), 1);
                     }
                     $vvcode_oscsid = $_GET['osCsid'];
                     tep_db_query("DELETE FROM " . TABLE_VISUAL_VERIFY_CODE . " WHERE oscsid='" . $vvcode_oscsid . "'");
                     $sql_data_array = array('oscsid' => $vvcode_oscsid, 'code' => $visual_verify_code);
                     tep_db_perform(TABLE_VISUAL_VERIFY_CODE, $sql_data_array);
                     $visual_verify_code = "";
                    // 認證碼圖片 
                     echo('<img src="' . FILENAME_VISUAL_VERIFY_CODE_DISPLAY . '?vvc=' . $vvcode_oscsid . '"');
      ?>
                </td>
                <!--  安全認證碼等文字 --> 
                <td class="main"><?php echo VISUAL_VERIFY_CODE_BOX_IDENTIFIER; ?></td>
              </tr>


檔案位置:
www/inc/vvcode_render_code.inc.php
文字註解:
$imwidth=100; //圖片寬度
$imheight=25; //圖片高度
Header("Content-type: image/Jpeg");
$im = @ImageCreate ($imwidth, $imheight) or die ("ERROR! Cannot create new GD image - see: verify_code_img_gen.php");

$background_color = ImageColorAllocate ($im, 255, 255, 255); //背景色
$text_color = ImageColorAllocate ($im, 0, 0, 0);//文字色
$border_color = ImageColorAllocate ($im, 154, 154, 154);//線的顏色

$stringlength = strlen($code);
        // $i=0表示從第一個文字顯示,1就會少一個字..依此推下去
            for ($i = 0; $i< $stringlength; $i++) {
                 $x = $x + (rand (13, 13));//字左空格及字距
                    $y = rand (5, 5);//字上下空間距離
                     $font = rand (4,6);
                 $single_char = substr($code, $i, 1);
                 imagechar($im, $font, $x, $y, $single_char, $text_color);
                }

目前調整了一下看起來整齊多了,好歹大小寫比較分的出來

這裡主要就是"vvcode"了..而此刻我想著所謂vvcode的解釋是什麼...這很有趣!
(未完待續...))

相簿設定
標籤設定
相簿狀態