-
- 간단한 숫자나 문자 인증코드는 해독하기 쉽다는 사실은 누구나 알지만, 산술 인증코드나 한자 인증코드는 해독하기 쉽지 않다는 사실,
-
- 그래서 모두가 인증코드를 사용할 때에는 산술 인증코드나 한자 인증코드를 사용하는 것을 권장합니다.
-
- 아래는 제가 작성한 인증코드 2개입니다. 도움이 되는 친구들이 참고하시면 됩니다.
-
- 1. 계산 인증코드 :
- session_start() ;
- header("콘텐츠 유형: 이미지/png");
-
- $num1 = mt_rand(0,9);//첫 번째 숫자
- $num2 = mt_rand(1,9 ) ;//두 번째 숫자
-
- $type_str = " -*";//메서드 문자열 수집
- $type = substr($type_str,rand(0,2),1);/ /랜덤 메소드
-
- $change = mt_rand(1,3);
-
- if($change==1){
- $code = "$num1$type$num2=?" > $result = "\$verifyCode=$num1$type$num2;";
- eval($result);
-
- $_SESSION['authnum_session'] = $verifyCode
- }elseif( $change==2){
- $result = "\$verifyCode=$num1$type$num2;";
- eval($result);
- $code = $num1.$type ."_ =".$verifyCode;
- $_SESSION['authnum_session'] = $num2;
-
- }elseif($change==3){
- $result = "\$verifyCode= $num1$ type$num2;";
- eval($result);
- $code = "_".$type.$num2."=".$verifyCode;
- $_SESSION['authnum_session' ] = $ num1;
- }
-
-
-
- $im = imagecreate(68,28);
- $black = imagecolorallocate($im, 0,0,0); 흰색 = imagecolorallocate($im, 255,255,255);
- $gray = imagecolorallocate($im, 200,200,200);
- $red = imagecolorallocate($im, 255, 0, 0);
-
- imagefill( $im,0,0,$white);
- imagestring($im, 5, 10, 8, $code, $black)
-
- for($i=0;$i< ;70; $i ) {
- imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $black)
- imagesetpixel($im, mt_rand(0, 58) , mt_rand( 0, 28 ) , $red);
- imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $gray);
-
- imagepng($im);
- imagedestroy($im);
-
- ?>
- 2. 한자 인증코드 :
- session_start();
- $ch_str="먼저 큰 문제가 생기면 각자의 시간을 활용해 학생들을 여러 학급으로 나눠야 한다는 겁니다. 개발부 관계자들이 나서서 이야기하면 됩니다. 이러한 삶을 변화시키는 혁명에 대해 직접 이야기하고, 많은 아이들이 작은 기계에 합류한 후, 그들은 또한 전력선에서 고품질의 장기 정당을 경험했습니다. 농경당은 새로운 논의의 결론부터 전환의 핵심점까지 방역체계와 제도개편의 공동투쟁 로드맵을 작성하는데, 여전히 두 나라의 재능과 재능이 있다. 팀은 그에 상응하는 형태, 사고, 사고 방식에 따라 내부 및 외부 요인과 관련이 있으며 일일 이익은 구성원, 카르마 및 전체 그룹의 압력에 의해 결정됩니다. 말은 하위 텍스트를 인식하지만 지도자는 더 괴상하고 공개적입니다. 전통적인 시스템을 바꾸고 9, 당신과 서쪽, 일반 정보, 재선, Zhiguan, Qimoshan, Chengbaibao, 보고서는 열을 유지하고, 손을 맡기고, 관리를 바꾸고, 지점을 수리하고, 질병의 증상을 인식하고, 노인 수, 6가지 특별한 적응증이 필요하다는 것을 알게 될 것입니다. 복잡한 보안 벨트가 증가할 때마다 동쪽에서는 바람이 북쪽의 Luolunke Nanguang으로 돌아가고 트럭 일정과 공급 섹션이 통합되어 구두 심사를 통과하고 Bumen을 심사하기 위해 금메달 제품을 수집해야 합니다. 철은 군대를 굳건히 하고 제거해야 수천 번의 승리와 미세한 그림자를 얻을 수 있습니다. 신체 조임 액체 시스템, 정확한 무게 각도, 치수 감소가 어렵습니다. 판, 쑤 깨뜨리는 기술, 바닥 침대 필드 잠재력, 끝 감각, 신, Hecun, 구성, 외관, 야모 부족, 화재 섹션, 계산, 값, 아름다움, 황 Yibiao 아침을 가져 가라. 교대, 밀이 문자를 자르고 무대의 소리가 쳐야합니다. 바늘은 왕의 눈을 높이는 데 어떻게 도움이됩니까? 그녀는 묘목을 잡고 그 반대의 경우도 마찬가지입니다. 초음수 모래 밀봉, Taimo 교체, 빈곤 완화, Yangjiang 분석, Mu Muyan, Qiuchao 의과 대학, Gu Ni Dao, Song Tingwei, Sliding Station, 또 다른 Wei 캐릭터 Gugang은 Liu Weilue Fan Gong A'kuai가 작성했습니다. 특정 스킬 세트 친구는 아이템 수가 제한되어 있으며, Guyuan이 Chupibo를 도와 치명적인 서클을 차지하게 하세요. Weiji의 훈련과 통제는 Mingyunhu와 Liangliangmu가 플러그 스틸 탑 전략을 연습하고 실수를 남길 수 있도록 자극합니다. 기본흡입저항, 구인치방패, 후기비단, 여, 용접력, 병원, 냉기, 총알, 흩어진 장사, 예술, 제로룸, 광혈, 센티미터부족, 부유한 도시, 푸르른 흙, 단순한 기둥, 자기 영웅 이왕판은 공이주에 갇힌 것 같다. 솜이 재에 침범당하고 창이 굵어지고 진흙이 열리며 계란 상자가 열리고 야자 산소가 멈추고 사랑이 멈추고 진영이 해체되고 돈이 고갈되고, 러시아인이 수축하고, 모래가 후퇴하고, 진이 싸우고, 무기가 세포를 운반하여 강제로 회전시키고, 부과금 홈이 거꾸로 잡혀 있으며, 카드 거친 소개 드릴 약한 발은 소금 끝 음봉 인쇄를 두려워합니다. 벌이 상처를 잡아 노출된 코어 가장자리 여행 진동 카오 중앙 우 영역 매우 빠른 광채 순서 자유 종이 밤 마을 Jiuli 실린더 폴더 읽기 Lan Yinggou Yi? 단단한 수정이 불에 삽입됩니다. 철을 보충하고, 싹과 기와를 쏟아내고, 여름에 단조 옥 전체를 염색하고, 비주(針州)의 뾰족한 우물을 처리하고, 방문하여 청동 가장자리를 날려버리고, 손님을 불러 모은다. 가뭄, 마음 계몽, 뇌 찌르기, 티베트 통과, 균열, 용광로 껍질, 유황 석탄을 명령하고 주조 및 막대기를 환영하고 얇은 열흘을 탐색하고 선하고 축복하고 의식을 선택하고 눕고자 하는 천둥은 연기를 퍼뜨리고, 문장은 순수하고, 점차 쟁기질하고, 강을 건너 천천히 심고, 육적판의 영역, 조수가 교차하고, 원뿔, 웅덩이, 배, 가짜 빛, 화저화이의 위탁, 공물 자르기, 강력한 재정 의식, 대마의 무거운 정제, 조상의 죄, 차는 물건을 입고 쥐를 팔고, 그림을 그리고, 용에게 먹이를 주고, 창고를 짓고, 집을 짓는다. , 노래 부르기, 한자, 노폐물 씻어내기, 배를 가져가기, 거울을 녹음하기, 여자, 사악한 지방, 마을을 닦기, 위험을 문지르기, 종을 찬양하기, 손잡이를 흔들기, 대나무 계곡에 대해 토론하기, 혼돈을 팔기 , 가상 다리 Ober, 길을 달려가 그물을 끊고 야생 유산을 끊고 조용히 음모를 꾸미십시오. Nong Gua Ke Zhen Wang Sheng 지구력 Zha Li Key 반환 Fu Qing Ju Lao Mo 바쁜 춤을 추며 Suo Gu Jiaoyang Lake Ding을 만났습니다. Ren 사운드 트랙 깨진 스트레칭 램프 홍수 방지 답변 Yong Pin Huang Liu Ha Jie Gan Nuo Gui Xian Nong Island 공격 Hong Xie Cannon이 현장 정보를 쏟아 붓는 것은 정신 알을 이해하고 아이를 닫아 유방 거대 개인 은행 Yi Jingtan 피곤한 곰팡이 Du Lele 굴곡 업적 분리 Zhao Shao Hu Hu Tongfeng Ling Chai Spring Wu는 Shang Ding으로 뛰어 올랐습니다. Qin Shao는 특별한 언덕을 파기 위해 빔을 쫓아갔습니다. Shirenjuduihehecheshengqinmembrane의 기사가 Dark Hole Intruder, You Song Arc에 게재되었습니다. 우스꽝스럽고 맛이 칠해져 팔 장벽 갈색 땅 Jianzun Doubamo 상포 솔기 경찰이 얼음 캄보디아 입을 집어 들고 Zhao Mingpad에게 어떤 쌀 플라스틱을 보냈는지 Kang Zunmu는 정원 악센트로 둘러싸여 있습니다. Wu Minhui는 잊혀졌습니다. Yisunlingling은 Xiu를 속이고 Dandu의 귀를 빌려 호랑이 펜을 떼어 냈습니다. Kunlang Sa 차가 구멍에 얕게 떨어져 Lun Niang의 흠뻑 젖은 소매 구슬을 덮어서 Qiao Tang은 모든 남자의 소식을 유출했습니다. 펄프 옆에 유리를 훔친 사람들도 충성스럽고 노래를 불렀고 체포되어 갇혔습니다. 특히 Wu Zhidan을 이용하여 반역자들이 트랙 홀을 던지고 유리를 쓸도록 허용했습니다. , 유혹에 따라 와인 밧줄을 장려하고 가난한 연못, 거품 가방 건조, 알루미늄 연약한 운하 공급, 관습 무역, 똥 종합 벽, 반대편으로 이동, 잉크 차단, 역 하역, 안개 왕관, Bing Street, Laibei , 장을 발산하는 Fuji, Rui Jing에 침투 "Dun squeeze second to hang Mu Lan Sen Tang Sheng 오목 도자기 단어 Chi Can Yi 순간";
-
- $len = mb_strlen($ch_str,"utf-8") ;//한자 길이
- $str = array ();
- for($i=0;$i<4;$i ){
- $pos = mt_rand(0,$len-5) ;//시작 위치
- $str[] = mb_substr($ch_str,$pos,1,"utf-8");
- }
- $authnum_session = implode("",$str);
- $_SESSION['authnum_session'] = $authnum_session; //세션에 기록
-
- Header("콘텐츠 유형: 이미지/PNG ");
-
- //이미지의 길이와 높이
- $image_x=100;
- $image_y=50;
- $im = imagecreate($image_x,$image_y);
- //여기 이미지의 배경색은 흰색입니다
- $bkg = ImageColorAllocate($im,255,255,255);
- //표시된 글꼴 스타일, 이를 위해서는 파일을 해당 디렉토리에 배치해야 합니다. 파일이 없으면 창 글꼴 파일에서 찾아보세요.
- $fnt = "simhei.ttf";
- //이미지에 일부 색상 지정
- $white=ImageColorAllocate($im,234,185,95);
- //이미지에 타원형 호 그리기 image, 하위 좌표점 지정
- imagearc($im, 150, 8, 20, 20, 75, 170, $white);
- imagearc($im, 180, 7,50, 30, 75, 175 , $white );
- //사진에 선분을 그리고 아래쪽 좌표점 지정
- imageline($im,20,20,180,30,$white);
- imageline($im,20 ,18,170,50, $white);
- imageline($im,25,50,80,50,$white);
- //임의의 점 개수
- $noise_num=3000;
- $line_num=50;
- //헷갈리는 다양한 문자의 색상
- $retangle_color=imagecolorallocate($im,0xAA,0xAA,0xAA);
- $noise_color=imagecolorallocate($im,0x00,0x00,0x00 );
- $font_color=imagecolorallocate($im,0x00,0x00,0x00);
- for($i=0;$i<$noise_num;$i )
- {
- //그림 그리기 단일 좌표점 위에서 정의한 점인 Pixel은 검은색입니다.
- //imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);
- }
-
- for($i=0;$i< $line_num;$i )
- {
- $line_color=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
- //두 좌표점 사이에 선을 그립니다. , 색상은 위에서 정의됩니다.
- imageline($im,mt_rand(0,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color)
- }
-
- for ($i=0;$i<4;$i )
- {
- ImageTTFText($im, rand(18,20), rand(0,20) , rand(($image_x/4)*$i $image_x/100,($image_x/4)*$i $image_x/8), rand($image_y/2 $image_y/10,$image_y/2 $image_y/ 5 ), $font_color, $fnt, $str[$i]);
-
- }
-
- ImagePNG($im);
- ImageDestroy($im);
-
- ?>
- 첨부된 글꼴 파일: simhei.rar http://www.phpskill.com/uploadfile/file/20141229/simhei2.rar
-
- 참고:
-
- 한자 인증코드를 별도로 실행한 후 세션을 획득하면 인증코드와 세션 내용이 일치하지 않는 것으로 확인됩니다. 그러나 img 태그의 src 속성에서 한자 인증 코드 파일을 참조하여 세션을 획득하면 두 내용이 일치합니다.
-
-
코드 복사
|