解決php session驗證碼不現實的問題

2021-06-29 03:20:40 字數 1436 閱讀 5709

本人一開始老顯示不出來,顯示的是乙個裂了的,經查詢發現可能由以下幾種可能造成

1)在header("content-type:image/png");前加如下一段**

ini_set('display_errors', 'off');
本人就是由上面的問題造成。

<?php 

ini_set('display_errors', 'off');

header("content-type:image/png");

session_start();

$_session['code'] = 'null'; //初始化

$width = '58';

$height = '22';

//$code = '';

$tmptext ='';

$bordercolor= '';

for($i=0;$i<4;$i++)

$_session['code'] = $code;

//以下三句詩讓瀏覽器不快取

@header("expires:-1");

@header("cache-control:no-store,private,posc-check=0,pre-check=0,max-age=0",false);

@header("pragma:no-cache");

if(function_exists('imagecreate') && function_exists('imagecolorset') && function_exists('imagecopyresized')

&& function_exists('imagecolorallocate') && function_exists('imagesetpixel')

&& function_exists('imagechar') && function_exists('imagecreatefromgif')

&& function_exists('imagepng')

) $linenums = mt_rand(10,32);

for($i=0;$i<=$linenums;$i++)

for($i=0;$i<40;$i++)

$bordercolor = imagecolorallocate($im, 150, 150, 150);

imagerectangle($im, 0, 0, $width-1, $height-1, $bordercolor);

imagepng($im);

imagedestroy($im);

}?>

2)變數沒初始化

3)在header("content-type:image/png");前加入

ob_clean();

第二三中方法不確保可以解決問題,僅供參考。

驗證碼 簡單驗證碼識別

這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 這裡的驗證碼是內容非常簡單的,結構非常清晰的 興之所至之所以說簡單,我覺得是這樣的 抽了五張驗證碼扔進ps,50 透明度,長這樣 只有數字為內容 每張圖的數字都在固定位置 沒有太大的干擾因素 數字字型,形態完...

驗證碼一(驗證碼生成)

根據手機好查詢密碼 return type description code for i 0 i 6 i 4位驗證碼也可以用rand 1000,9999 直接生成 將生成的驗證碼寫入session,備驗證時用 session start session verify num code 建立,定義顏色...

12306驗證碼 驗證碼的架構

最近和眾屌絲一樣,在12306上面刷著春節回家的票。與她大戰無數個回合之後,終於搶到了一張回家的高鐵票,不斷感慨最近人品還不錯。當前,在使用12306的過程中,充滿很多的心酸,念叨了鐵道部的親人很多次 罪過 其中最讓人糾結的一項即是 驗證碼。12306採用驗證碼,無疑是一種很不錯的措施,可以在一定程...