제목 | 자동가입 방지 문자 이미지 생성관련 | ||
---|---|---|---|
글쓴이 | 니로 | 작성시각 | 2016/05/27 09:44:06 |
|
|||
컨트롤러에 captcha.php를 추가하여.. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Captcha extends CI_Controller { public function __construct() { $fontname = "MALGUN.TTF"; // php 파일과 같은 디렉토리거나, 경로까지 설정해야함 $width = "50"; $height = "50"; } // 회원 가입시 입력하는 자동가입방지 문자열 이미지 만들기 public function index() { $text = $this->randText(7); $_SESSION['charcheck'] = $text; //문자열 세션저장 $fontsize = 16; $bound = ImageTTFBBox($fontsize,0,$fontname, $text); $imgWidth = $bound[2]+20; $imgHeight = $fontsize*3.0; $im = ImageCreate($imgWidth,$imgHeight); $white = ImageColorAllocate ($im, 255, 255, 255); $black = ImageColorAllocate ($im, 0, 0, 0); ImageTTFText($im,$fontsize,rand()%20, 10, $imgHeight-10, $black, $fontname, $text); header ("Content-type: image/png"); ImagePNG($im); ImageDestroy($im); } function randText($strSize) { $str = ""; for ($i=0; $i<$strSize; $i++) { $num = rand() % 52; if ($num < 26) $str .= chr($num + 65); // 대문자 else $str .= chr($num + 97 - 26); //소문자 출력 } return $str; } function euckr2utf8($text) { return stripslashes(iconv("EUC-KR","UTF-8",$text)); } }
이런 소스를 넣었어요 도메인/capcha 로 들어가면 문자열 이미지가 하나뜨고있는데요.
view에서 이파일을 실행할수 있을까요...? 게시판입력 페이지에 보안문자 입력하는곳에 넣고싶은데.. 방법을 모르겟네요 |
|||
다음글 | 왕초보가 고수님들께 질문드립니다. (17) | ||
이전글 | CI controller에서 curl을 쓸 수 있는 방... (4) | ||
이현재
/
2016/05/27 11:10:05 /
추천
0
이미지를 서버에 저장해서 그 주소로 보여줘도 되고, 이미지인 상태의 데이터를 뷰로 보낸 후 뷰에 표기해줘도 되겠죠. 제가 만들어서 쓸 때는 로그인 후 자동입력 방지가 필요했던지라 사용자 별로 하나씩 저장 후 불러왔습니다.
|
한대승(불의회상)
/
2016/05/27 11:48:17 /
추천
0
헬퍼나 라이브러리로 만들어서 사용하시면 됩니다.
|
니로
/
2016/05/27 14:45:54 /
추천
0
근데 궁금한게.. 컨트롤에 저렇게 해놓고 세션생성을 하는데.. 세션이 만들어지지가 않는데 이유가 뭔지 모르겟어요...
|