首页 php教程 PHP源码 SESSION在不同浏览器的使用问题,请教

SESSION在不同浏览器的使用问题,请教

May 22, 2016 pm 06:24 PM

SESSION在不同浏览器的使用问题,请教

<?php
session_start();
// 配置验证码
$code_ini = array(
    &#39;code_count&#39; => 4, // 验证码长度
    &#39;code_size&#39; => 20, // 验证码字体大小
    &#39;code_width&#39; => 100, // 验证码框宽度
    &#39;code_height&#39; => 36, // 验证码框高度
    &#39;code_num&#39; => true, // 开启数字
    &#39;code_upper&#39; => true, // 开启大写字母
    &#39;code_lower&#39; => true, // 开启小写字母
    &#39;code_remove&#39; => &#39;1li0oO2zZ&#39;
) // 排除易混淆字符
;
// 将配置项转为对应变量
foreach ($code_ini as $key => $value) {
    $$key = $value;
}
// 创建验证码画布
$code_img = imagecreatetruecolor($code_width, $code_height);
$black = imagecolorallocate($code_img, 0, 0, 0);
// 填充随机背景颜色
$bg = imagecolorallocate($code_img, rand(200, 255), rand(200, 255), rand(200, 255));
imagefill($code_img, 0, 0, $bg);

// 随机画100个干扰点
for ($i = 0; $i < 100; $i ++) {
    $color = imagecolorallocate($code_img, rand(0, 200), rand(0, 200), rand(0, 200));
    imagesetpixel($code_img, rand(2, $code_width - 2), rand(2, $code_height - 2), $color);
}

// 随机画10个干扰线
for ($q = 0; $q < 10; $q ++) {
    $color = imagecolorallocate($code_img, rand(0, 200), rand(0, 200), rand(0, 200));
    imageline($code_img, rand(2, $code_width - 2), rand(2, $code_height - 2), rand(2, $code_width - 2), rand(2, $code_height - 2), $color);
}

// 获取验证码
$code = get_code($code_count, $code_num, $code_upper, $code_lower, $code_remove);
$_SESSION[&#39;code&#39;] = $code;
for ($i = 0; $i < $code_count; $i ++) {
    $color = imagecolorallocate($code_img, rand(0, 200), rand(0, 200), rand(0, 200));
    imagettftext($code_img, $code_size, rand(- 30, 30), 5 + 20 * $i, 24, $color, &#39;../Fun/shruti.ttf&#39;, $code[$i]);
}
imagerectangle($code_img, 0, 0, $code_width - 1, $code_height - 1, $black);
// 输出验证码
header(&#39;content-type:image/gif&#39;);
imagegif($code_img);

// 销毁资源
imagedestroy($code_img);

// 获得验证码
function get_code($code_count, $code_num, $code_upper, $code_lower, $code_remove)
{
    $num = array();
    $upper = array();
    $lower = array();
    if ($code_num) {
        $num = range(0, 9);
    }
    if ($code_upper) {
        $upper = range(&#39;A&#39;, &#39;Z&#39;);
    }
    if ($code_lower) {
        $lower = range(&#39;a&#39;, &#39;z&#39;);
    }
    // 合并符合条件数组
    $arr = array_merge($num, $lower, $upper);
    // 排除易混淆字符
    $remove = str_split($code_remove);
    $arr1 = array_diff($arr, $remove);
    $mess = &#39;&#39;;
    
    for ($i = 0; $i < $code_count; $i ++) {
        $mess .= $arr1[array_rand($arr1)];
        $_SESSION[&#39;code&#39;] = $mess;
    }
    return $mess;
}
登录后复制

                   

 以上就是SESSION在不同浏览器的使用问题,请教的内容,更多相关内容请关注PHP中文网(www.php.cn)!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在渐变背景的卡券布局上实现缺口效果? 如何在渐变背景的卡券布局上实现缺口效果? Apr 05, 2025 am 07:48 AM

实现卡券布局的缺口效果在设计卡券布局时,常常会遇到需要在卡券上添加缺口的需求,尤其是在背景为渐变色...

如何在网页上正确显示本地安装的'荆南麦圆体”? 如何在网页上正确显示本地安装的'荆南麦圆体”? Apr 05, 2025 pm 10:33 PM

在网页中使用本地安装的字体文件最近,我从网上下载了一种免费字体,并成功将其安装到了我的系统中。现在...

如何获取58同城工作页面上的实时申请和浏览人数数据? 如何获取58同城工作页面上的实时申请和浏览人数数据? Apr 05, 2025 am 08:06 AM

如何在爬虫时获取58同城工作页面的动态数据?在使用爬虫工具爬取58同城的某个工作页面时,可能会遇到这样�...

PC页面缩放后样式保持不变:有哪些可行的解决方案? PC页面缩放后样式保持不变:有哪些可行的解决方案? Apr 05, 2025 am 07:51 AM

保持页面缩放后样式不变的挑战许多开发者在制作PC页面时,都会遇到一个棘手的问题:当用户放大或缩小浏览�...

如何通过CSS自定义resize符号并使其与背景色统一? 如何通过CSS自定义resize符号并使其与背景色统一? Apr 05, 2025 pm 02:30 PM

CSS自定义resize符号的方法与背景色统一在日常开发中,我们经常会遇到需要自定义用户界面细节的情况,比如调...

如何正确引入Element UI的index.css文件并避免样式加载失败? 如何正确引入Element UI的index.css文件并避免样式加载失败? Apr 05, 2025 pm 02:33 PM

关于ElementUI样式文件引入的最佳实践许多开发者在使用Element...

在Node.js中使用request库获取HTML文本时出现编码异常的原因是什么?如何解决? 在Node.js中使用request库获取HTML文本时出现编码异常的原因是什么?如何解决? Apr 05, 2025 am 07:03 AM

在Node.js环境中使用request库获取HTML文本内容时出现编码异常的原因及解决方案在使用Node.js开发过程中,经常需�...

See all articles