9달 전 · 김영민 님의 새로운 답변
비밀번호검증 질문 (백엔드 프론트엔드 연동 )
저는 컴퓨터공학과 학생이지만 개발이 처음입니다. 프론트엔드를 맡아 리액트 네이티브 앱을 개발하는 중입니다. 기초 지식은 있지만 학교 수업만 들어봤기 때문에 실제로 서비스를 어떻게 만드는지는 몰라, 이번 프로젝트에서는 사실상 GPT가 다 짜줬다고 해도 무방한 정도였어요. 프로젝트가 거의 다 끝나가는데, 백에서 비밀번호에 암호화를 걸면서 수정사항이 생겼습니다. if (existingProfile.password !== profile.oldPassword) { Alert.alert('비밀번호 오류', '기존 비밀번호가 올바르지 않습니다.'); return; } 기존에는 위와 같이 단순하게 비교를 했었는데, 백에서 암호화가 되어버려서 저런 단순한 로직을 사용할 수 없게 되었습니다. 대신 백에서 currentPassword(클라이언트에서 입력받은 비밀번호), getPassword함수(암호화되지 않은 사용자 계정의 기존 비밀번호를 받아오는 함수)를 bcrypt를 이용해서 알아서 다 처리하도록 코드를 다 짜주셨다고 하더라고요. 백엔드 코드는 사진으로 올려두었는데, if (passwordEncoder.matches(currentPassword, user.getPassword()))를 통해서 두 비밀번호가 일치하는 경우에만 정보가 수정되도록 코드가 작성되어 있습니다. 로직은 충분히 이해가 가는데, 이를 프론트엔드 코드에 어떻게 적용해야하는지 전혀 모르겠습니다. 구글링을 어떻게 해야 이런 경우의 풀이가 나오는지도 모르겠고, 찾아봐도 백엔드에서 암호화를 하는 방법이나 해시를 하는 방법 같은 것만 나오네요. 이 문제를 해결하기 위해 일주일 내내 노트북만 붙잡고 있었는데 멘탈만 부서지고, 코드는 아무것도 나아지지 않았습니다. 부디 많은 조언과 도움 부탁드립니다.
개발자
#비밀번호
#프론트엔드
#react-native
#front-end
#javascript
답변 1
댓글 0
조회 179
일 년 전 · 백승훈 님의 댓글 업데이트
Nginx, Express 연결 후 프론트에서 이미지 파일 전송시 408 Error
안녕하세요. 혼자 해보던 도중 도저히 해결이 되지 않아 문의드립니다. - 서버 설계 - 현재 저는 Express앱을 AWS EC2 인스턴스에 NGINX를 설치한 후 proxy_pass에 express앱이 구동중인 port를 연결하여 사용하고 있습니다. 이 과정에서 ALB를 통해 ACM을 연동하여 HTTPS 프로토콜이 사용가능하게 설정까지 하였습니다. 이미지 파일업로드는 multer-s3를 이용해 s3버킷과 연결하여 업로드 되는 방식입니다. - 문제상황 - 로그인과 기본적인 CRUD는 문제없이 되는데, 프론트에서 이미지 파일(multipart/form-data)을 서버로 전송하면 504 오류가 출력됩니다. 1. nginx의 access.log에는 해당 uri의 상태코드가 408이라 출력됩니다. 2. nginx의 error.log에는 readv() failed (104: Connection reset by peer) while reading upstream가 출력됩니다. 3. 개발자도구의 console창에 'server의 이미지 업로드 uri' from origin '프론트 도메인'이 has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 이라 출력됩니다. 위 오류를 해결해보기 위해 시도해본 것은 아래와 같습니다 1. NGINX의 proxy_connect_timeout, proxy_send_timeout, proxy_read_timeout, send_timeout을 600으로 설정, client_max_body_size를 500M으로 설정 2. ALB의 유휴제한시간 600 설정 3. Express 앱에 app.set('trust proxy', true); 추가 4. Express-session에 app.use(session({proxy:true})) 추가 5. body-parser에 app.use(bodyParser.json({limit: '1000mb'})); 추가 및 app.use(bodyParser.urlencoded({limit: '1000mb', extended: true})); 추가 6. 업로드되는 uri의 미들웨어에 (req, res, next) => { req.setTimeout(1000000); next(); } 추가 7. upload.single()미들웨어를 주석처리 후 req.file 출력 시도 아직도 해결을 하지 못하였습니다 ㅜㅜ 연휴임에도 도와주시면 너무 감사하겠습니다..
개발자
#aws
#alb
#nginx
#express
#ec2
답변 2
댓글 4
조회 303
일 년 전 · 차돌박이 님의 질문
Springboot 환경의 암복호화 질문
민감정보인 비밀번호의 경우 스프링 시큐리티가 제공해주는 password encoder를 써서 단방향 암호화를 한 뒤 일치여부를 체크하면 되지만 이름, 전화번호같이 다시 복호화해서 보여줄 필요가 있는 데이터들은 보통 어떤 라이브러리를 이용해서 처리들 하시는지 궁금합니다. @Bean public StandardPBEStringEncryptor jasyptStringEncryptor() { StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor(); encryptor.setPassword(password); encryptor.setSaltGenerator(new StringFixedSaltGenerator(salt)); return encryptor; } 지금 만들고있는 사이드 프로젝트에서는 jasypt 라이브러리의 StandardPBEStringEncryptor를 사용하여 salt값을 고정하여 사용중인데 맞는 방법인지 모르겠고.. jasypt에 대해 검색해보면 properties나 yml파일 암호화 관련된 이야기가 대부분이던데 혹시 엉뚱한 라이브러리를 사용하고있는건 아닌가 싶네요.. 다른 분들은 어떤걸 사용하시는지가 궁금해서 질문 드립니다.
개발자
#springboot
#spring-boot
#encode
#decode
답변 0
댓글 0
조회 88
일 년 전 · 최수빈 님의 질문
bert vs chatgpt? encoder 와 decoder차이?
안녕하세요? 주로 bert, senetenceBERT를 사용하여 단어 유사도 구하는 간단한 작업중인데요. 이게 다 transformer encoder구조 쌓은거잖아요? 근데 요즘뜨는 generative AI LLM 모델들은 모두 decoder만 사용하는건가요? llama, chatgpt같이? 처음공부할때는 gpt-1, gpt-2 나올때였는데 그때는 decoder만 사용했거든요.. 아무래도 생성쪽은 모두 decoder 기반의 모델들만 있는건가요? 그리고 추가질문!! 그럼 bert나, electra, albert등..과같이 encoder만 사용하는 모델들은 더 발전한게 없나요? decoder쪽만 엄청 요즘 발전하는건가용?
개발자
#generative
답변 0
댓글 0
조회 51
2년 전 · 안강민 님의 새로운 댓글
카카오 restapi 오류
카카오에서 제공하는 api중 Daum검색 api를 카카오 docs에 있는 예시 그대로 mac 터미널에서 실행했더니 accessDenied 에러가 발생합니다. 아래는 카카오 공식문서의 예시입니다 curl -v -X GET "https://dapi.kakao.com/v2/search/web" \ --data-urlencode "query=이효리" \ -H "Authorization: KakaoAK ${REST_API_KEY}" apikey는 문제가 없음을 확인했습니다 찾아봐도 비슷한경우가 없네요..
개발자
#curl
#restapi
#카카오
답변 1
댓글 6
조회 101
2년 전 · 권준수 님의 새로운 댓글
Next.js에서 URL 파라미터에 한글 입력시 오류가 발생합니다.
[Next.js 13.4.1] 아무 경로나 그냥 URL에 http://localhost:3000?test=테스트 대충 이렇게 쳐도 ---------- Failed to fetch RSC payload. Falling back to browser navigation. TypeError: Failed to execute 'fetch' on 'Window': Failed to read the 'headers' property from 'RequestInit': String contains non ISO-8859-1 code point. ---------- 위와 같은 오류가 발생합니다. 여기저기 구글링 해본 결과 URL에 유니코드 문자가 들어가면 이런 문제가 발생하는 것 같은데 Next.js 공식문서에도 없는 거같고... 파라미터의 한글을 urlencode로 변환도 해보고 별짓을 다해봤는데 해결이 안되네요 어떻게 해야할까요?
개발자
#next.js
답변 1
댓글 1
조회 818
2년 전 · 호빵 님의 답변 업데이트
비밀번호 암호화 할때 복호화가능한 방법 (이전 비밀번호 내용 저장or양방향암호화)
안녕하세요 2달차 신입 자바개발자입니다. 현재 spring boot로 거래소 api를 만들려고 하는데, 비밀번호 암호화에 대해 궁금한 점이 있습니다. JWT+PasswordEncoder를 통해서 비밀번호 암호화해서 db에 저장하는데 복호화가 불가능한 상황입니다. 그런데 기획 상으로 '비밀번호 재설정 유의사항 1. 이전 *회 동안 사용한 비밀번호는 사용 금지' 2. 생일, 전화번호 등 추측하기 쉬운 번호 금지' 라고 되어있는데, 사용자가 지정한 비밀번호를 알아야 기록을 남길 텐데 어떤 프레임워크나 스택을 써야할지 모르겠습니다. 노드 코인 주소를 저장할때도 암호화해서 저장했다가 내보낼때는 복호화해서 내보내야 한다고 하는데 비슷한 기능을 사용하면 될 것같은데 혹시 어떤 기능을 써야할지 추천 부탁드리면 너무 감사드리겠습니다.
개발자
#복호화
#springboot
#java
#비밀번호
#양방향-암호화
답변 2
댓글 0
추천해요 1
조회 755
2년 전 · 윤석현 님의 새로운 답변
uri 인코딩할 때 encodeURI vs encodeURIComponent 어떤 함수를 사용하는게 맞을까요?
axios를 사용해서 한글이나 특수문자를 보내야하는 경우가 있습니다., 이때 데이터를 encode하려고 합니다. 보통 encodeURI 또는 encodeURIComponent를 사용하는 것 같은데 하나로 통일하는게 맞을까요? 사용한다면 어떤 함수가 좋을지 또는 다른 인코딩 방법이 있으면 공유해주시면 감사하겠습니다.
개발자
#react
#axios
#encode
#decode
#uri
답변 2
댓글 0
추천해요 4
조회 495