구글 리캡챠v2(로봇이 아닙니다.) API 키 생성 및 연동 + 서버단 체크(PHP) 예제
웹>API/서비스 연동
구글에서 제공하는 리캡챠 API는 연속적인 행동을 막기위한 용도로 많이 사용되는데 주로 게시글 등록 또는 로그인 시 많이 사용된다. 이번에 소개할 리캡챠 버전은 v2 버전으로 아래의 이미지와 같이 `로봇이 아닙니다.` 라는 기능을 제공한다. 이렇게 `로봇이 아닙니다.` 에 체크를 하면 검증이 되고 이를 이용하여 구글 API와 통신하여 체크를 할 수 있다. ···
입력된 한글 단어를 PHP를 이용하여 초성,중성종성 단위로 분리해주는 함수 - linear_hangul()
웹>PHP 일반
이번포스팅은 정말 엉뚱하게도 한글 전체 DB를 만드는 과정에서 한글 초성,중성,종성 단위로 분리할 수 있을까라는 의문점이 들어 시작되었다. 간혹 MAC 기기로 부터 받은 파일명들을 보면 한글이 초성,중성,종성 단위로 분리되어 표시가 되는데 정말 쓸떼없이 한번 만들어보고 싶었다. 일단 처음에는 내 얕은 지식을 통해 mb_ord로 열심히 규칙을 찾아보았지만 어···
JQUERY를 이용하여 만든 가위, 바위, 보 프로그램
웹>개발테스트/교육
이번에 소개할 프로그램은 JQUERY를 이용하여 만든 가위, 바위, 보 프로그램이다. 해당 프로그램은 결과값에 대한 조건처리가 많이 없기에 생각보다 빠르게 만든것 같다. 아래는 가위, 바위, 보 프로그램의 처음 시작 화면이다. 처음 화면에서 게임 시작을 누르면 아래와 같이 실제 게임 레이어 팝업이 뜨게 되고 게임을 시작할 수 있다. 게임이 시작되고 가위, ···
JQUERY 를 이용한 학생관리 프로그램 - v1
웹>개발테스트/교육
이번에 소개할 교육용 프로그램은 학생관리 프로그램으로 JQUERY를 이용하여 최대한 간단하게나마 만들어보았다. (사실 만드는데 생각보다 시간이 많이 걸렸다.) 사실 여러 기능들을 넣어서 올려볼까 했는데 db가 아니다 보니 스크립트 처리가 워낙 까다로워서 다음에 좀더 업데이트된 버전으로 올려볼까 한다. 이번 버전은 등록/삭제/조회/다운로드 까지 기능만으로 구···
PHP를 이용하여 간단한 달력 만들기 예제
웹>개발테스트/교육
PHP로 개발을 하다보면 상당히 많은 라이브러리를 접할 수 있다. 하지만 달력 같은 경우 보통 PHP가 아닌 datepicker 같은 JS라이브러리를 많이 사용하게 되는데 이벤트에 대한 메서드를 완전히 제어하기 어렵기 때문에 별도로 제작해야할때가 있다. 하지만 평소 달력은 보기만 했지 막상 만들려면 조금이나마 공수가 들어가게 된다. 이럴땐 바로 구글링을 해···
웹에서 쿠키 없이 세션 만 이용 가능할까? (+ 보안)
웹>HTML/CSS/JAVASCRIPT
간혹 웹에서 보안상 쿠키를 없애고 세션만 사용할려는데 어떻게 해야하는지 문의가 올때가 있다. 결론부터 말하면 웹에서 쿠키 없이 세션만 사용할 수는 없다. 그 이유는 쿠키가 있어야만 세션이 존재하기 때문이다. 예를 들어 PHP서버를 운영하고 별도의 세션 설정을 하지 않았다면 세션 실행시 `PHPSESSID` 이라는 쿠키가 생성이 될것이다. 해당 쿠키값은 PH···
비동기 ajax 통신 시 연속 click 이벤트를 막는 방법
웹>HTML/CSS/JAVASCRIPT
ajax는 비동기 통신을 위한 방법인데 간혹 연속 클릭으로 인해 중복 처리가 되는 경우가 있다. 물론 프로그램단에서 db 조건과 비교하여 막는 방법이 있지만 request 한 페이지에 외부 api 통신이 있을 경우 딜레이가 발생되어 중복체크를 하가기 어렵다. 따라서 이번편에서는 클라이언트단에서 연속 click 이벤트를 막는 방법에 대해 예제소스를 통해 알아···
sortable() 를 이용한 간단한 색상 블록 맞추기 게임 | JQUERY
웹>개발테스트/교육
이번에 소개할 프로그램은 JQUERY의 sortable 메서드를 이용하여 만단 간단한 생상 블록 맞추기 게임이다. sortable 메서드의 경우 JQUERY UI 라이브러리가 있어야만 가능하며 특정 목록 아이템 부모를 선택해주면 자동으로 마우스 드래그&드롭 기능이 작동된다. sortable 메서드에 대한 자세한 정보는 아래의 포럼에서 살펴보면 된다.···
jquery-confirm.js 를 이용한 alert 메서드의 대체 | JQUERY
웹>HTML/CSS/JAVASCRIPT
alert 메서드는 주로 경고창을 띄우는 용도로 많이 사용되고 있다. 하지만 고정된 디자인이다보니 UI 변경이 불가능하기때문에 이를 대체할 수 있는 jquery-confirm.js 라이브러리가 있는데 사용법도 간단하기 때문에 단순 alert 를 대체하기엔 가장 좋은 라이브러리가 아닌가 생각한다. 물론 비슷한 라이브러리들이 많지만 confirm-jquery ···
PHP 의 DOMDocument 클래스를 이용한 HTML 문서 meta content 추출 서포트 함수
웹>PHP 서포트함수
meta 태그란 사이트 문서 head 상에 삽입된 태그로 흔히 웹 문서 검색 시 해당 문서의 정보 데이터를 설정하는 역활을 한다. 이러한 meta 태그는 종류가 여러가지고 보통 검색 시에 활용하기도 하지만 특정 사이트 인증 및 설정 시에도 사용이 된다. 본래 PHP 에서는 메타태그를 가져올 수 있는 get_meta_tags() 함수가 제공이 되는데 이 함수···
PHP 의 glob 함수를 이용한 서버 디렉토리에서 특정 파일 리스트만 추출하는 방법
웹>PHP 일반
PHP 에서 디렉토리관련하여 상당히 많은 함수들이 제공된다. 그중 패턴을 이용하여 파일명 리스트를 추출할 수 있는 glob 라는 함수가 있는데 오늘은 이함수에 대해 간단하게나마 알아 보도록 하자 먼저 이함수는 아래의 PHP 그룹 사이트에서 상세 정보를 확인 가능하다. PHP: glob - Manual PHP: glob - Manual www.php.net/···
javascript | 자바스크립트에서 객체(object) 복사를 해보자
웹>HTML/CSS/JAVASCRIPT
자바스크립트를 이용하다보면 기본 객체를 그대로 두고 본 객체를 복사하는 경우가 있다. 기본적으로 객체를 복사하는 방법에는 여러방법이 있겠지만 그중 가장 많이 사용하는 방법 2가지에 대해 알아보도록 하자 Object.assign 을 이용한 객체 복사 방법 | 얕은복사 <script> /* Object.assign 을 이용한 객체복사 */ let o···
jquery | Global Ajax 이벤트 핸들러를 이용하여 ajax 공통처리를 해보자
웹>HTML/CSS/JAVASCRIPT
Global Ajax 를 이용하여 공통처리를 할 수 있는 방법이 있다. 이는 주로 이 블로그처럼 대다수가 AJAX 를 통한 페이지 전환으로 구성된 사이트에서 로딩바를 띄우기 위한 목적으로 사용이 된다. 지원되는 이벤트 핸들러는 ajaxStart, ajaxSend, ajaxSuccess, ajaxComplete, ajaxStop , ajaxError 가 있으···
JQUERY load() 메소드 사용 예제
웹>HTML/CSS/JAVASCRIPT
AJAX의 기술은 요즘들어 페이지에 없어서는 안될 부분으로 상당히 많이 사용되곤 한다. 물론 아직까지는 대형 사이트의 경우 JQUERY를 그다지 선호호지 않기 때문에 순수 JAVASCRIPT 를 이용하여 자체 스크립팅된 코드를 사용한다. 하지만 알다시피 일개미 개발자에게 주어진 시간이란게 없고 일부 JAVASCRIPT 라이브러리들은 JQUERY 를 요구하기···
PHP+JQUERY 를 이용한 안전 숫자 키패드 프로그램
웹>개발테스트/교육
PC에서 웹 결제 프로그램을 이용하다보면 많이 보게 되는 숫자 키패드는 생각보다 간단하게 만들 수 있다. 물론 PG사 특성상 보안 프로그램으로 2중 체크하여 처리하겠지만 보안 프로그램을 제외한다면 별반 다를것 없이 제작할 수 있다. 이번에 소개할 웹 프로그램은 PHP 와 JQUERY 를 이용하여 만든 안전 숫자 키패드 프로그램으로 간단하게 만들었기때문에 구···
JQUERY 의 AJAX를 통한 서버 header 데이터 주고 받기
웹>PHP 일반
지난편에서 `SetEnvIf 를 활용한 헤더(header) 데이터 받기` 를 알아보았고 이번편에서는 AJAX 통신으로 헤더값을 주고 받는 방법에 대해 알아보고자 한다. (왠지 내가 올린글들만 설명이 많이 떨어지는것같다..) JQUERY 의 AJAX 로 헤더 데이터를 담아 보내기 서버에 index.php 파일을 만든다음 아래 소소코드를 복붙한다. 참고로 헤더 ···
SetEnvIf 를 활용한 헤더(header) 데이터 받기
웹>PHP 일반
API 작업 시 헤더에 중요 정보를 담아서 처리해야할때 가있다. 하지만 서버에 따라 apache_request_headers() 함수가 지원이 안되는 경우가 있는데 이때 해결방법으론 .htaccess 를 이용하여 별도 처리하는것이다. 작업은 조금 번거로울 수 있으며 아파치의 mod_setenvif 모듈이 설치되어있어야 해결가능하다. 그외 방법은 나도 찾아본···
웹 수집에 방해 되는 iframe 을 제거 하자
블로그를 개설한지 꽤 오랜 시간이 흘렀다. 하지만 방문자 유입은 이전 내 블로그보다 훨씬 적었다. 물론 구글 유입은 역시나 많았지만 네이버 같은경우 웹사이트 자료 수집률이 10%정도밖에 되지 않았다.     그래서 내린 결론은 iframe 을 뜯어내는것이였다. 오차피 정보를  공유하는 사이트인데 홍보한다해서 될 블로그···
PHP 를 이용하여 간단하게 만든 총 학점 출력 프로그램
웹>개발테스트/교육
대학교 시절 학점이 그렇게 좋지 않아 만들기 싫었지만 우연히 학점 계산방법 소개글을 보다가 학점 출력 프로그램을 만들어 보았다. 본 프로그램은 하단 블로그를 통해 학점 계산 방법을 숙지한 뒤 간단하게나마 만들어 보았으니 참고 바라며 해당 프로그램은 스타일을 고려하지 않을려다가 조금이나나 CSS를 넣었기때문에 가독성을 위한 수정이 필요할 수 있다. 학점은 처···
PHP를 이용하여 구구단 프로그램을 만들어 보자
웹>개발테스트/교육
구구단 프로그램의 경우 개발을 처음 접할 시 한번쯤 과제로 만들기도 하는데 반복문을 이해하지 못할 경우 프로그램을 정상적으로 만들 수 가 없다. 반복문은 특정 조건까지 실행하도록 설계를 해야하는데 해당 설계가 잘못될 경우 오류가 발생하고 심각한 경우 무한루프에 빠지게 되어 설계된 프로그램이 멈추지 않고 계속 실행되어 페이지가 다운되는 경우도 발생된다. 아래···