목록프로그래밍 공부/javascript & typescript (3)
minimimi
구글 계정 관리 > 보안 > Google에 로그인하는 방법 > 2단계 인증 > 앱 비밀번호 생성된 앱 비밀번호를 .env에 MAILER_AUTH_PASS 로 저장 내 구글 계정은 MAILER_AUTH_USER 에 저장 // .env MAILER_AUTH_USER=test@gmail.com MAILER_AUTH_PASS=phfrwscwiwdfhxqt import { NextRequest, NextResponse } from "next/server"; import nodemailer from "nodemailer"; const transporter = nodemailer.createTransport({ host: "smtp.gmail.com", port: 465, secure: true, auth: { us..
react를 이용한 textarea의 값을 엔터키를 이용해서 제출하는 로직을 작성하는 와중에 엔터를 통해서 값이 제출은 잘 되지만 textarea에 엔터가 한 번 더 입력되어 사용자 경험이 나빠지는 현상이 발생하였다. 물론 전송 버튼(button)을 통한 제출에서는 text가 빈 문자열로 잘 적용되었다. 해결 방법 코드 생략... const handleKeyPress = (event: any) => { if (event.key === "Enter") { event.preventDefault(); // ✅ 이 코드를 추가하여 엔터키를 방지한다. handleSubmit(); // 필요에 따른 로직을 추가. } }; 생략... return ( 생략... {/* styled-component로 선언한 texta..
Content Security Policy (CSP) 컨텐츠 보안 정책 콘텐츠 보안 정책(CSP)은 웹 개발자가 웹 페이지에서 실행하거나 로드할 수 있는 콘텐츠 유형을 제한하는 일련의 정책을 지정할 수 있는 보안 메커니즘입니다. CSP는 XSS(교차 사이트 스크립팅), 클릭재킹 및 코드 삽입과 같은 다양한 공격을 방지하는 데 도움이 될 수 있습니다. CSP는 페이지에서 실행하거나 로드할 수 있는 콘텐츠 유형을 브라우저에 알리는 헤더 집합을 HTTP 응답에 추가하여 작동합니다. 헤더에는 스크립트, 스타일시트, 이미지 및 프레임과 같은 다양한 유형의 콘텐츠에 대해 허용되는 소스를 지정하는 지시문 목록이 포함되어 있습니다. 예를 들어 다음 CSP 헤더는 페이지와 동일한 출처 및 example.com 도메인의 ..