php 验证码程序_PHP
验证码
// -------------------------------------------------------------
// 名称: my_authimg class
//
// 用途: 根据图片数字字母验证
// 实例:
// $ai = new my_authimg();
// $ai->render();
//
// 判断结果是否正确
// $ai = new my_authimg();
// $ai->is_true($str);
//
// @作者: hightman
// @版本: 0.0.0
// @时间: 2005/05/26
// $Id: $
// -------------------------------------------------------------
class my_authimg {
// public var
var $width = 72;
var $height = 20;
var $text_font = 5;
var $text_space = 10;
var $text_length = 5;
var $sess_name = "__auth_xyz_123__";
var $num_only = false;
// private
var $_top = 1;
var $_move = 3;
var $_lines = 5;
function auth_image($params = array()) {
settype($params, "array");
foreach ($params as $key => $value) {
if (isset($this->$key)) {
$this->$key = $value;
}
}
$this->_lines = intval($this->height / 10);
}
function set_sess_name($name = "") {
if (!empty($name)) {
$this->sess_name = $name;
}
}
function set_text_length($length = 5) {
$this->text_length = $length;
}
function set_img_size($width = 100, $height = 15) {
$this->width = $width;
$this->height = $height;
}
function get_sess_value() {
@session_start();
$sess_key = $this->sess_name;
$sess_value = NULL;
if (isset($_SESSION) && isset($_SESSION[$sess_key])) {
$sess_value = $_SESSION[$sess_key];
unset($_SESSION[$sess_key]);
} else {
global $HTTP_SESSION_VARS;
if (isset($HTTP_SESSION_VARS[$sess_key])) {
$sess_value = $HTTP_SESSION_VARS[$sess_key];
session_unregister($this->sess_name);
}
}
if (isset($GLOBALS[$sess_key])) {
unset($GLOBALS[$sess_key]);
}
return $sess_value;
}
function is_true($str) {
$sess_value = $this->get_sess_value();
return (!strcasecmp($sess_value, $str));
}
function render() {
$radix = "123456789";
if (!$this->num_only) {
$radix .= "ABCDEFGHIJKLMNPQRSTUVWXYZ";
}
$radix_len = strlen($radix);
// 种下随机种子
mt_srand();
// 初始化图片
$image = ImageCreate($this->width, $this->height);
// 设定颜色
$r = mt_rand() % 255; //2 ? 255 : 0;
$g = mt_rand() % 255; //2 ? 255 : 0;
$b = mt_rand() % 255; //2 ? 255 : 0;
$fgcolor = ImageColorAllocate($image, $r, $g, $b);
$bgcolor = ImageColorAllocate($image, 255 - $r, 255 - $g, 255 - $b);
$silver = ImageColorAllocate($image, (255 - $r) * 2, (255 - $g) * 2, (255 - $b) * 2);
// 生成背景
ImageFill($image, 0, 0, $bgcolor);
// 画出横向干扰线
$line_space = ceil($this->height / ($this->_lines + 1));
$line_move = ceil($line_space * 2);
for ($i = 1; $i _lines; $i++) {
$y = $line_space * $i;
$y2 = $y + (($i - rand(0, 2 * $i)) % 2) * $line_move;
ImageLine($image, 0, $y, $this->width, $y2, $silver);
}
// 画出干扰点
$pixel_num = intval($this->height * $this->width / 20);
for($i = 0; $i $x = mt_rand() % $this->width;
$y = mt_rand() % $this->height;
ImageSetPixel($image, $x, $y, $silver);
}
// 画出字符
$rand_str = "";
$step_len = intval($this->width / ($this->text_length + 1));
$left_len = $step_len - 6;
for ($i = 0; $i text_length; $i++) {
$x = $left_len + ($step_len * $i);
$y = ($i % 2) * $this->_move + $this->_top;
$rand = mt_rand(0, $radix_len - 1);
$rand_str .= substr($radix, $rand, 1);
ImageString($image, $this->text_font, $x, $y, substr($radix, $rand, 1), $fgcolor);
}
// 设定 SESSION 值
@session_start();
if (isset($_SESSION)) {
$sess_key = $this->sess_name;
$_SESSION[$sess_key] = $rand_str;
}
else {
session_register($this->sess_name, $rand_str);
}
// 输出图象
header("Content-type: image/png");
ImagePNG($image);
ImageDestroy($image);
}
}
?>

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

iPhone上的預設地圖是Apple專有的地理位置供應商「地圖」。儘管地圖越來越好,但它在美國以外的地區運作不佳。與谷歌地圖相比,它沒有什麼可提供的。在本文中,我們討論了使用Google地圖成為iPhone上的預設地圖的可行性步驟。如何在iPhone中使Google地圖成為預設地圖將Google地圖設定為手機上的預設地圖應用程式比您想像的要容易。請依照以下步驟操作–先決條件步驟–您必須在手機上安裝Gmail。步驟1–開啟AppStore。步驟2–搜尋“Gmail”。步驟3–點選Gmail應用程式旁

C++是一種廣泛使用的程式語言,在編寫倒數計時器方面非常方便且實用。倒數計時程式是一種常見的應用,它能為我們提供非常精確的時間計算和倒數功能。本文將介紹如何使用C++來寫一個簡單的倒數計時程式。實現倒數程序的關鍵就是使用計時器來計算時間的流逝。在C++中,我們可以使用time.h頭檔中的函數來實作計時器的功能。下面是一個簡單的倒數計時程式的程式碼

您的手機中缺少時鐘應用程式嗎?日期和時間仍將顯示在iPhone的狀態列上。但是,如果沒有時鐘應用程序,您將無法使用世界時鐘、碼錶、鬧鐘等多項功能。因此,修復時鐘應用程式的缺失應該是您的待辦事項清單的首位。這些解決方案可以幫助您解決此問題。修復1–放置時鐘應用程式如果您錯誤地從主畫面中刪除了時鐘應用程序,您可以將時鐘應用程式放回原位。步驟1–解鎖iPhone並開始向左側滑動,直到到達「應用程式庫」頁面。步驟2–接下來,在搜尋框中搜尋「時鐘」。步驟3–當您在搜尋結果中看到下方的「時鐘」時,請按住它並

酷睿i73770配什麼顯卡好啊RTX3070是一款非常強大的顯示卡,它具有出色的性能和先進的技術。無論是玩遊戲、渲染圖形或是進行機器學習,RTX3070都能輕鬆應付。它採用了NVIDIA的Ampere架構,擁有5888個CUDA核心和8GB的GDDR6內存,能夠提供流暢的遊戲體驗和高品質的圖形效果。 RTX3070也支援光線追蹤技術,能夠呈現逼真的光影效果。總而言之,RTX3070是一款強大且先進的顯示卡,適合那些追求高效能和高品質的使用者使用。 RTX3070是一款NVIDIA系列的顯示卡。採用第2代NVID

您是否每天在大約相同的時間頻繁地造訪同一網站?這可能會導致花費大量時間打開多個瀏覽器選項卡,並在執行日常任務時使瀏覽器充滿混亂。好吧,打開它而不必手動啟動瀏覽器怎麼樣?這非常簡單,不需要您下載任何第三方應用程序,如下所示。如何設定任務計劃程序以開啟網站?按鍵,在搜尋框中鍵入任務計劃程序,然後按一下開啟。 Windows在右側側邊欄上,按一下「建立基本任務」選項。在名稱欄位中,輸入要開啟的網站的名稱,然後按一下下一步。接下來,在觸發器下,按一下時間頻率並點擊下一步。選擇您希望活動重複多長時間並點擊下一步。選擇啟

我們通常會接收到政府或其他機構發送的PDF文件,有些文件有數位簽章。驗證簽名後,我們會看到SignatureValid訊息和一個綠色勾號。如果簽章未驗證,會顯示有效性未知。驗證簽名很重要,以下看看如何在PDF中進行驗證。如何在PDF中驗證簽名驗證PDF格式的簽名使其更可信,文件更容易被接受。您可以透過以下方式驗證PDF文件中的簽名。在AdobeReader中開啟PDF右鍵點選簽名,然後選擇顯示簽名屬性點選顯示簽署者憑證按鈕從「信任」標籤將簽名新增至「受信任的憑證」清單中點選驗證簽名以完成驗證讓

1.打開微信進入後,點選搜尋圖標,輸入微信團隊,點選下方的服務進入。 2、進入後,點選左下方的自助工具的選項。 3、點選後,在上方的選項內,點選解封/申訴輔助驗證的選項。

在iOS17中,蘋果不僅增加了幾個新的訊息功能,而且還調整了訊息應用程式的設計,使其外觀更乾淨。現在,所有iMessage應用程式和工具(如相機和照片選項)都可以透過點擊鍵盤上方和文字輸入欄位左側的「+」按鈕來存取。點擊“+”按鈕會彈出一個選單列,該列具有預設的選項順序。從頂部開始,有相機,照片,貼紙,現金(如果可用),音訊和位置。最底部是一個「更多」按鈕,點擊該按鈕時會顯示任何其他已安裝的訊息應用程式(您也可以向上滑動以顯示此隱藏清單)。如何重新組織您的iMessage應用程式您可以透過以下方
