본문 바로가기

웹 개발 이야기73

[PHP] AWS S3 Bucket에 파일 업로드 * 현 예제는 그누보드에서 작성하였다. * AWS 접속 후 [보안 자격 증명] 으로 이동하여 액세스 키를 생성해야한다. * 생성한 버킷의 권한을 퍼블릭으로 설정해준다. (버킷 정책 샘플) { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::버킷명/*" } ] } $cf =array(); $cf['AWS_KEY'] = '액세스 키 ID'; $cf['AWS_SECRET'] = '비밀 액세스 키'; $cf['aws_bucket'] = '버킷명'; $cf['s3Client'] = [ 'ver.. 2023. 3. 16.
[JS] 알리고 알림톡 발송 // 카카오 플러스친구 계정 생성 후 비즈니스 인증 필요 (비즈니스 인증 시 사업자 등록증 필요) // 알리고 사이트에서 api key 발급 및 발송 서버 ip 등록, 발신번호 등록이 되어있어야한다. // 테스트 발송 시에도 잔액이 충전되어있어야한다. // 아래 코드는 알리고 알림톡 템플릿이 한가지일 경우의 코드이다. // 템플릿이 여러개일 경우 'get_tpllist_alimtalk' 함수의 결과 처리 부분을 수정해야한다. (템플릿 선택 부분 제작 필요) // 'send_alimtalk' 함수의 sender (발신번호)는 알리고 사이트에서 등록한 발신번호만 이용 가능하다. ​ /* 알리고 알림톡 */ function alimtalk(mb_name, mb_hp, msg, subject, tpl_code).. 2023. 3. 16.
[PHP] GMAIL 계정을 이용하여 SMTP 이메일 보내기 (2단계 인증, 앱비밀번호) // 현 예제는 그누보드 기반이다. // 현 예제는 PHPMailer 라이브러리를 이용하였다. 1. gmail 사이트로 가서 [설정] 버튼을 클릭하고 [모든 설정]을 클릭한다. 2. [전달 및 POP/IMAP] 탭으로 이동한다. 3. IMAP 액세스를 허용한다. 4. 상단 우측의 프로필을 클릭하여 구글 계정 관리로 이동한다. 5. 보안 메뉴로 이동 후, 2차 인증을 이용하는지 확인한다. 2차 인증을 이용중이지 않다면, 2차 인증을 활성화한다. 6. 앱 비밀번호를 생성한다. 앱 비밀번호 설정이 보이지 않는다면 상단의 검색창을 이용하면 된다. 7. 앱 비밀번호를 생성했다면 생성된 비밀번호를 자주 확인 가능한 곳에 적어둔다. 앱 비밀번호는 SMTP 기능의 비밀번호로 이용한다. 안내가이드에 계정 비밀번호를 앱 .. 2023. 3. 16.
[JS] 스마트 에디터에 keyup 이벤트 등록 // 일반적인 방법으로는 사용할 수 없고 가이드문서를 참고해서 플러그인을 추가 제작해야 한다. // 가이드 문서 사이트의 [기능 추가 및 변경하기] - [새로운 기능추가] 를 참고하여 제작할 수 있다. 내가 추가 작성한 smarteditor2 keyup 코드 // smarteditor2/SmartEditor2Skin_ko_KR.html // smarteditor2/service/hp_keyup.js nhn.husky.keyup = jindo.$Class({ name: 'SE2_keyup', $init : function(elAppContainer){ // 플러그인을 생성하면서 동시에 초기화를 수행하려면 $init 함수에서 초기화를 수행한다. this._assignHTMLObjects(elAppContai.. 2023. 3. 13.
[PHP] 스팸글 등록 방지를 위한 아주 간단한 방법 // Simple honeypot for an HTML form using PHP 출처 : https://gist.github.com/andrewlimaza/958826feac907114a57462bfc8d535ff Simple honeypot for an HTML form using PHP Simple honeypot for an HTML form using PHP. GitHub Gist: instantly share code, notes, and snippets. gist.github.com 2023. 3. 13.
[JS] javascript 선택자 let element = document.elementById("mySpan"); element.parentNode; // 바로 위 부모(요소,주석,줄바꿈 포함) element.parentElement; // 바로 위 부모 요소 element.closest(); // 조상 요소 중 제일 가까운 요소 (Id,Class,속성값 등을 이용) element.childNodes; // 바로 아래 자식(요소,주석,줄바꿈 포함) 배열 element.children; // 바로 아래 자식 요소 배열 element.querySelectorAll(); // 자손 요소 전체 배열 (Id,Class,속성값 등을 이용) element.nextSibling; // 다음 형제(요소,주석,줄바꿈 포함) element.nextElem.. 2023. 3. 9.