전체 글 20

bcrypt 비밀번호 암호화

Next.js에서 비밀번호를 안전하게 암호화하는 방법에 대해 알아봅니다. 특히, bcrypt-edge 라이브러리를 사용하여 비밀번호 암호화 및 해시값 생성 과정을 단계별로 살펴보고, 직접 암호화 로직을 구현하는 위험성을 설명합니다. 또한, 추가적인 보안 강화 방안과 관련 자료들을 소개합니다. edge-runtime 에선 npm install bcrypt-edge 설치후 사용해야합니다next.js 가 처음이라 bcrypt 라이브러리 있는 줄 모르고 직접 비밀번호 암호화 + salt 구현해봤습니다bcrypt 관련 링크https://www.npmjs.com/package/bcrypt  이런식으로 const salt = generateSalt(); salt 선언 해주고 사용하면됩니다salt 값을 db 에 저장해..

NEXT.JS 2024.06.04

문자인증 로직 변경

원래 문자인증 코드 짤때 그냥 세션에다 인증번호 담고 인증번호 입력하면 삭제했는데 워드프레스에서 제공하는 set_transient() 이걸쓰면 엄청 간편하게 wp_options 테이블에 값이 저장되고 설정한 시간이 지나면 자동으로 삭제된다 set_transient()관련링크 https://developer.wordpress.org/reference/functions/set_transient/ public function user_phone_certify_send(){ $phone_number = sanitize_text_field($_POST['phone']); $user_id = sanitize_text_field($_POST['user_id']); $auth_number = rand(100000, 9..

콤마로 구분된 문자열 검색

오늘 이런질문이 올라왔다 해결방법은 정말 간단하다 SELECT * FROM table WHERE model_no LIKE '%39%' 이렇게하면 model_no 에 39가 포함된 모든것들을 가져온다 SELECT * FROM table WHERE model_no = '39' 이렇게 하면 정확히 model_no 가 39 인것만 가져오므로 아무것도 가져오지 않는다 콤마로 구분된 39 가 들어있는 것을 가져오려면 SELECT *FROM table WHERE FIND_IN_SET('39', model_no) > 0; 이런식으로 해주면 된다 칭찬들어서 기부니가 좋다

MYSQL 2024.01.16

AWS 공부

Iaas 는 컴퓨팅 서비스 유형중 하나임 Iaas ( Infrastructure as a Service) 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태 가상화, 서버 ,스토리지 , 네트워크 제공 (쉽게 설명하면 주방만 제공) Paas ( Platform as a Service ) 서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태. 가상화, 서버 , 스토리지 ,네트워크 , 런타임 ,미들웨어 ,운영체제 제공 (쉽게 설명하면 주방,요리기구,주방기기 제공) SaaS (Software as a Service) 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라..

AWS 2023.11.09

워드프레스 우커머스 관련 정보들

결제 완료 했을때 후크걸기(카드,간편결제) add_action('woocommerce_payment_complete', 'your function here', 10, 1); 가상계좌 발급했을때 후크걸기 add_action('woocommerce_order_status_awaiting-vbank', ' your function here ', 10, 1); 여기서부턴 우커머스 관련아니고 자주쓰는 후크 회원가입 했을때 add_action('user_register', ' your function here ', 10, 1); 회원가입후 alert 창 변경 하고싶을때 add_action('wpmem_register_redirect', ' your function here ', 10, 1);

api 연동중 에러

LMS 관련 플러그인을 제작중인데 1:1 화상과외 종료후 다시보기를 가능하게 해달라는 요청이 와서 페이지콜 API 연동해서 코드를 짜고 실행을 시켜보니 방이 종료가 되지않고 계속 열린채 남아있다 그래서 우리가만든 플러그인에 과외완료 버튼을 누르면 강제로 방을 닫아주도록 하려고 코드를짠뒤 실행시켰는데 여전히 방이열려있다 왜그런지 이유를 못찾겠어서 하나하나 다 출력해서 원인을 찾아보기로 마음먹었다 근데!!!!!!!!!!! public function close_room($id){ $response = wp_remote_request("https://api.pagecall.com/v1/rooms/{$id}", array( 'method' => 'PUT', 'timeout' => 30, 'headers' => ..

워드프레스 안전한 코딩방법

워드프레스(WordPress)에서 esc_html 함수는 웹 애플리케이션에서 보안과 웹페이지의 안전성을 유지하기 위해 사용되는 중요한 함수 중 하나입니다. 이 함수는 사용자로부터 입력된 데이터를 웹페이지에 출력하기 전에 HTML 특수 문자를 이스케이프(escape)하여 안전하게 표시하는 역할을 합니다. HTML 이스케이프는 사용자가 입력한 데이터 중에서 HTML 태그나 JavaScript 코드 등을 해석하지 않고 일반 텍스트로 처리하도록 하는 것을 의미합니다. 이렇게 하면 악의적인 사용자가 웹사이트에 악용할 수 있는 보안 취약점을 방지하고, 웹페이지에서 예기치 않은 동작을 방지할 수 있습니다. 예를 들어, 사용자로부터 입력받은 코멘트나 게시물 내용을 웹페이지에 표시할 때, esc_html 함수를 사용하면..

curl error 28

오늘 외부 api 연동하던 도중 결과 값을 받아오지 못하는 에러를 겪었다. print_r 로 찍어보니 curl error 28 이 나왔다 http 통신이 2.001 초가 초과해서 에러를 뱉어내는 현상인거 같다 그래서 'method' => 'POST', 'timeout' => 30, 'headers' => array( 'Authorization' => 'Bearer ' . $this->api_key, 'Content-Type' => 'application/json' ) timeout 을 넉넉하게 30초 로 지정해주니깐 해결되었음 .