전체 글
-
Security Vulnerability: SSRF(Server-Side Request Forgery in axios)FrontEnd/JavaScript 2024. 8. 14. 15:17
깃헙 알림으로 axios로 인한 보안 취약점이 발견됐다는 메시지가 왔음SSRF에 대한 이슈였고, 해결책으로 axios의 1.7.4 버전 이상으로 업그레이드 하라고 함 Affected versions : axios(npm) >= 1.3.2, axios 1.7.2 allows SSRF via unexpected behavior where requests for path relative URLs get processed as protocol relative URLs.해당 이슈: https://github.com/axios/axios/issues/6545보안 공격으론 CSRF, XSS, SQL injection에 대해서만 알았어서 SSRF 는 처음 접하게 됨.SSRF의 개념을 알아보고 위 이슈가 생긴 이..
-
Credetials callback function handle error (next-auth v5)FrontEnd/Next.js 2024. 6. 17. 12:48
https://github.com/nextauthjs/next-auth/pull/9871 feat: customizable `authorize()` error by balazsorban44 · Pull Request #9871 · nextauthjs/next-authThis introduces a way to throw custom errors in the authorize() callback of the Credentials provider. Any generic or sensitive server error will continue to return error=Configuration (full error i...github.com기존 callback에서는 throw new Error로 처리했지만 C..
-
form에서 server action 다루기FrontEnd/Next.js 2024. 6. 15. 01:12
https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutationsform action에서 server action을 하기 위해서는 비동기 함수를 넘겨주면서 use server를 입력해주면 됨export default function Page() { async function createInvoice(formData: FormData) { 'use server'; const rawFormData = { customerId: formData.get('customerId'), amount: formData.get('amount'), ..
-
Form에서 두개 이상의 버튼을 다루기 (feat. server action )FrontEnd/Next.js 2024. 6. 14. 20:03
Form 안에 두개 이상의 버튼이 있을 경우 어떤 버튼을 클릭했는지에 따라 행하는 액션이 다를 수 있다.이 때 button의 name와 value 속성을 이용하면 form의 action에서 버튼의 주체를 파악할 수 있다.form action에서 넘겨주는 파라미터는 FormData로써 폼 안에 버튼을 클릭하면 해당하는 버튼의 name과 value 정보가 포함되어져 있다.(이 때 form 안에 input 필드가 있다면 input들의 name과 value들도 출력 됨.)import { signIn } from '@/auth';function SignIn() { const handleAction = async (data: FormData) => { 'use server'; cons..
-
인가 서버에서 token 받아오기 (OAuth) feat. NextJsFrontEnd/Next.js 2024. 6. 10. 20:18
next-auth를 사용하면 provider를 통해 oauth 구현이 쉽겠지만 oauth에 대해 알고 있는 로직을 직접 구현해보고 싶어졌음https://developers.kakao.com/docs/latest/ko/kakaologin/common Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com카카오 로그인 문서에 따르면 oauth의 로직은 아래 이미지와 같다메인 페이지(Home)에 있는 카카오 로그인 버튼을 누르면 아래의 함수가 실행된다.const HomePage = () => { const handleKakaoLogin = () => { ..
-
[lv3]코딩 테스트 공부 (자바스크립트)코딩 테스트/프로그래머스 2024. 5. 22. 15:08
https://school.programmers.co.kr/learn/courses/30/lessons/118668?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음 생각해 본 경우의 수 알고력 코딩력이 문제에서 요하는 알고 코딩력보다 크다면 풀어버리기요하는 것보다 작다면 1시간 당 코딩 또는 알고력이 +1 이니까 (필요 코딩력 - 현재 코딩력),(필요 알고력-현재 알고력) 풀었던 문제들에 대해 문제 돌면서 알고 코딩력 얻기 위의 경우에서의 에러 사항은 문제를 풀어서 코딩/알고력을 얻다가 시간 당 1씩 얻는 경우도 있고..
-
빛의 경로 사이클코딩 테스트/프로그래머스 2024. 5. 21. 17:03
https://school.programmers.co.kr/learn/courses/30/lessons/86052?language=javascript 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr사이클의 존재 유무와 그것의 길이는 이미 지나쳤던 경로를 한 번 더 지나는지를 판별하면 알 수 있음.처음에 해맸던 점은 이것을 0,0 지점에 위치한 노드만 봐야하는지와 모든 지점을 거쳐야지만 사이클이 되는지였다.결과적으로 한 지점에서 출발하여 모든 지점을 지나칠 필요는 없으며, (0,0)이 아니더라도 사이클을 찾으면 되느 것이었다.즉, 반복문을 통하여 (0,0)~(n..
-
2차원 동전 뒤집기코딩 테스트/프로그래머스 2024. 5. 20. 12:37
https://school.programmers.co.kr/learn/courses/30/lessons/131703 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr한 번 뒤집었던 행/열을 또 한번 뒤집어봤자 같은 결과경우의 수는 1. 행을 뒤집어 보고 열을 뒤집기 , 2. 열을 뒤집어 보고 행을 뒤집기예를 들어서 2의 경우의 수를 더 딥하게 나눠보면 한 행의 모든 동전이 목표의 행에 있는 모든 동전과 모두 반대이거나, 모두 같다면 원하는 바를 이룰 수 있음 따라서, 2의 경우의 수를 더 나눠보면행의 첫번째 요소들을 기준으로 목표의 행과 다른 경우 행을 뒤집고,..