SESSION在不同浏览器的使用问题,请教
程序员文章站
2022-05-22 20:29:40
...
SESSION在不同浏览器的使用问题,请教
<?php session_start(); // 配置验证码 $code_ini = array( 'code_count' => 4, // 验证码长度 'code_size' => 20, // 验证码字体大小 'code_width' => 100, // 验证码框宽度 'code_height' => 36, // 验证码框高度 'code_num' => true, // 开启数字 'code_upper' => true, // 开启大写字母 'code_lower' => true, // 开启小写字母 'code_remove' => '1li0oO2zZ' ) // 排除易混淆字符 ; // 将配置项转为对应变量 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['code'] = $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, '../Fun/shruti.ttf', $code[$i]); } imagerectangle($code_img, 0, 0, $code_width - 1, $code_height - 1, $black); // 输出验证码 header('content-type:image/gif'); 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('A', 'Z'); } if ($code_lower) { $lower = range('a', 'z'); } // 合并符合条件数组 $arr = array_merge($num, $lower, $upper); // 排除易混淆字符 $remove = str_split($code_remove); $arr1 = array_diff($arr, $remove); $mess = ''; for ($i = 0; $i < $code_count; $i ++) { $mess .= $arr1[array_rand($arr1)]; $_SESSION['code'] = $mess; } return $mess; }
以上就是SESSION在不同浏览器的使用问题,请教的内容,更多相关内容请关注PHP中文网(www.php.cn)!
推荐阅读
-
Winform中在使用Dock属性设计页面布局控件的顺序导致页面效果不同的问题
-
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
-
jQuery中调用ajax方法时在不同浏览器中遇到的问题
-
web.py在SAE中的Session问题解决方法(使用mysql存储)
-
一个判断PHP程序是否被同时在不同浏览器上执行的有关问题
-
Winform中在使用Dock属性设计页面布局控件的顺序导致页面效果不同的问题
-
SESSION在不同浏览器的使用问题,请教
-
一个判断PHP程序是否被同时在不同浏览器上执行的有关问题
-
关于pHp的cookie与session在项目中使用问题
-
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨_jquery