Atitit 图片验证码功能设计文档总结目录1.1. 使用图片验证码img src标签设置图片。。验证码图片有png,jpg,svg等格式。。 11.2. Php png图像 11.3. P
Atitit 图片验证码功能设计文档总结
目录
1.1. 使用图片验证码img src标签设置图片。。验证码图片有png,jpg,svg等格式。。 1
Svg的head是这样header('Content-Type:image/svg+xml');
大概流程是生成字串放入session。。提交的时候校验session字串即可。。。
<?php
// /sdk/catchImg.php
require __DIR__ . '/../vendor/autoload.php';
use Minho\Captcha\CaptchaBuilder;
session_start();
$captch = new CaptchaBuilder();
$captch->initialize([
'width' => 120, // 宽度
'height' => 40, // 高度
'line' => false, // 直线
'curve' => false, // 曲线
'noise' => 0, // 噪点背景
'fonts' => [] // 字体
]);
// C:\wamp\bin\php\php5.6.31\php.exe composer.phar install
//C:\wamp\bin\php\php5.6.31\php.exe composer.phar update
$captch->create();
$captch->save('778.png',1);
$_SESSION['captch77'] = $captch->getText();
error_log('$_SESSION[captch77] from ctimg.php '.$_SESSION['captch77']);
$captch->output(1);
//echo $captch->getText();
Pnp的png图像生成测试环境遇到点问题,需要集成gd库,也依赖于os的图像库。。
所以可以使用svg格式。。可惜php没有好的svg库,,只要使用nodejs的svg库
svg-captcha
通过cli模式调用。。。
<?php
header('Content-Type:image/svg+xml');
session_start();
// C:\wamp\bin\php\php5.6.31\php.exe composer.phar install
//C:\wamp\bin\php\php5.6.31\php.exe composer.phar update
$jscmd = "node cpt2.js "; // . base64_encode(json_encode($post));
error_log( $jscmd . PHP_EOL,3,'error_log.log');
$returnContent = exec($jscmd);
error_log( '$returnContent:'.$returnContent.PHP_EOL,3,'error_log.log');
$jsonObj=json_decode($returnContent,true);
$_SESSION['captch77'] = strtolower( $jsonObj['text']);
error_log('$_SESSION[captch77] from ctimg.php is:: '.$_SESSION['captch77'].PHP_EOL,3,'error_log.log');
echo $jsonObj['data'];
const code = require("svg-captcha");
var ret=code.create({
size: 4,
ignoreChars: "0o1iIl",
noise: 0,
color: true,
background: "#fff",
fontSize: 60
});
console.log(JSON.stringify(ret) )
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-07-24 Atitit 信息管理概论 艾提拉总结 信息的采集 信息格式转换 信息整合 信息的tag标注 信息的结构化 信息检索,,索引 压缩 信息分析 汇总 第1章 信息管理的基本概念 第
2017-07-24 Atitit.团队文化建设------影响组织的的一些原理 法则 定理 效应 p826.v4
2017-07-24 Atitit 软件与互联网理论 attilax总结
2017-07-24 atitit 国家与社区发展战略研究attilax 总结 v2 .docx
2017-07-24 Atitit 战略之道 attilax著
2017-07-24 Atitit 项目战略之道 attilax著