sion1129
@sion1129
Reviews Written
6
Average Rating
5.0
Posts
Q&A
์๋ ํ์ธ์ ํ์๊ฐ์ ํ ๋ฉ์ธํ์ด์ง ์ด๋ ์ง๋ฌธ์ ๋๋ค
์๋ ํ์ธ์ ์ง๋ฌธ ๋ถํ๋๋ฆฝ๋๋ค passport.serializeUser((user, done)=>{ //user id๋ง ๋ฝ์์ done ํด์ค๋ค console.log("๋ก๊ทธ์ธ๋ค๋ฒ์งธ") // done(null, user.id); console.log(user.id) done(null, user.id); //์ธ์ ์ user์ id๋ง ์ ์ฅ //done์ด ์คํ๋๋ฉด auth๋ก ๊ฐ๋ค }); passport serializeํ๋ฉด session์ id:1, 'connect.sid' .....์ด๋ ๊ฒ ์ ์ฅ๋๋ค๊ณ ํ์ จ๋๋ฐ (์ฌ์ง) ์ด๋ ๊ฒ id๊ฐ ๋ค์ด๊ฐ์ง ์์ต๋๋ค console์์ ์ฐ์ด๋ณด๋ฉด Executing (default): SELECT `id`, `number`, `password`, `birth`, `provider`, `gender`, `createdAt`, `updatedAt`, `deletedAt` FROM `Users` AS `User` WHERE (`User`.`deletedAt` IS NULL AND `User`.`number` = '01012341234'); ๋ก๊ทธ์ธ์ธ๋ฒ์งธ 1 ๋ก๊ทธ์ธ๋ค๋ฒ์งธ 1 ๋ก๊ทธ์ธ๋ค์ฏ๋ฒ์งธ POST /auth/login 200 277.213 ms - 25 id๊ฐ ์ ์ฐํ๊ธด ํฉ๋๋ค ์ ๊ทธ๋ฐ๊ฑด๊ฐ์? ํน์ ๋ฆฌ๋ค์ด๋ ํธ ์ ์จ์ ๊ทธ๋ฐ๊ฑด๊ฐ์? ์ถ๊ฐ๋ก ์ ์ ์ ๋ง์ด ํ์ด์ง๋ก ๋ค์ด๊ฐ ๋ ์ธ์ ์ ์๋ ์ ๋ณด๋ฅผ ํตํด deserialize ๋ก ํด์ ์ ์ ์ ๋ณด๋ฅผ ๋ง์ดํ์ด์ง์ ๋ณด์ฌ์ฃผ๋ ๊ฒ ๋ก๊ทธ์ธ ํ๋ฉด ๋ง์ดํ์ด์ง ํ๋ก ํธ๋ก ์ ์ ์ ๋ณด ๋ณด๋ด์ค์ ๋ง์ดํ์ด์ง ๋ค์ด๊ฐ๋ฉด ์ ์ ์ ๋ณด๋ฅผ ๋ณด์ฌ์ฃผ๊ฒ ํ๋ ๊ฒ ๋ ๋ค ๊ฐ๋ฅํ๊ฑด๊ฐ์?
- 0
- 5
- 722
Q&A
์๋ ํ์ธ์ ํ์๊ฐ์ ํ ๋ฉ์ธํ์ด์ง ์ด๋ ์ง๋ฌธ์ ๋๋ค
์๋ ํ์ธ์ ํ์๊ฐ์ ์ฑ๊ณตํ๋ฉด ๋ก๊ทธ์ธํ์ด์ง๋ก ๋์๊ฐ๊ฒ ํ ๋ ค ํฉ๋๋ค ๊ทธ๋์ ๋ก๊ทธ์ธ url์ธ login_htnl.login.html์ redirect ํ๋๋ 304 ๋จ๋ฉด์ ์ฑ๊ณตํ์ง๋ง ํ์ด์ง ์ด๋์ ๋์ง ์์์ต๋๋ค ํฐ๋ฏธ๋์์๋ 304๋ผ๊ณ ๋ง ๋์ค๊ณ ๋ค๋ง network tap์์ status code๊ฐ 304 not modified๋ผ๊ณ ๋์์ต๋๋ค ์์ ๋์ง ์์ ๋ฆฌ๋ค์ด๋ ํธ๋ฅผ ์ ๋ ๊ฒ ํ๋ฉด ์ ๋๋ ๊ฑด๊ฐ์? ์ ํ์ด์ง๊ฐ ์ด๋ํ์ง ์๋๊ฑด๊ฐ์? auth.js router.post('/join', isNotLoggedIn, async(req, res, next)=>{ console.log(req) const { number, password, birth, gender } = req.body; try{ const exUser = await User.findOne({where : {number}}); if(exUser){ // return res.sendStatus(444); return res.redirect('/join?error=exist'); } const hash = await bcrypt.hash(password, 12); await User.create({ number, birth, gender, password: hash, }); console.log('ํ์๊ฐ์ ์ฑ๊ณต') return res.redirect('/login_html/login.html'); }catch(error){ console.error(error); return next(error); } });
- 0
- 5
- 722
Q&A
์๋ ํ์ธ์ ํ์๊ฐ์ ํ ๋ฉ์ธํ์ด์ง ์ด๋ ์ง๋ฌธ์ ๋๋ค
์๋ ํ์ธ์ ํ์๊ฐ์ ์ฑ๊ณตํ๋ฉด ๋ค์ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋์๊ฐ๋ ค๊ณ ํฉ๋๋ค auth.js const express = require('express'); const passport = require('../passport'); const bcrypt = require('bcrypt'); const { isLoggedIn, isNotLoggedIn } = require('./middlewears'); const User = require('../models/user'); const router = express.Router(); router.post('/join', isNotLoggedIn, async(req, res, next)=>{ console.log(req) const { number, password, birth, gender } = req.body; try{ const exUser = await User.findOne({where : {number}}); if(exUser){ return res.redirect('/join?error=exist'); } const hash = await bcrypt.hash(password, 12); await User.create({ number, birth, gender, password: hash, }); console.log('ํ์๊ฐ์ ์ฑ๊ณต') return res.redirect('/page/login'); }catch(error){ console.error(error); return next(error); } }); app.js app.use('/page', pageRouter); app.use('/auth', authRouter); page.js const express = require('express'); const { isLoggedIn, isNotLoggedIn } = require('./middlewears'); const router = express.Router(); router.use((req, res, next)=>{ res.locals.user = null; next(); }) router.get('/login', isNotLoggedIn, (req, res)=>{ res.sendFile(path.join(__dirname, 'static/login_html/login.html')) }); (์ฌ์ง) db์๋ ํ์๊ฐ์ ํ ์ ๋ณด๊ฐ ๋ค์ด๊ฐ ์๋๋ฐ ํจ์ด์ง๋ ๋ณ๊ฒฝ๋์ง ์์ต๋๋ค
- 0
- 5
- 722
Q&A
์๋ ํ์ธ์ ํ์๊ฐ์ ํ ๋ฉ์ธํ์ด์ง ์ด๋ ์ง๋ฌธ์ ๋๋ค
ํ ...req.userํ๊ณ sendFileํ๊ณ ๋ฐ๋ก ์์ฑํ๋ฉด ๋์์ด ๋๋๊ฑด๊ฐ์? ์ด๋ป๊ฒ ์์ฑํด์ผํ ์ง ๊ฐ์ด ์ ์ค๋ค์..
- 0
- 5
- 722
Q&A
์ง๋ฌธ ๋ถํ๋๋ฆฝ๋๋ค
๊ฐ์ฌํฉ๋๋ค! html div class="join__main__phone"> h3>ํด๋์ ํ ๋ฒํธh3> input type="number" placeholder="'-' ๊ตฌ๋ถ์์ด ์ ๋ ฅํด์ฃผ์ธ์" id="number" onchange="printNum()" /> button>์ธ์ฆ๋ฒํธ ์ ์กbutton> div> js function printNum(){ userNum = document.getElementById('number').value; console.log(userNum); } ์ ๋๋ค
- 0
- 4
- 914
Q&A
์ง๋ฌธ ๋ถํ๋๋ฆฝ๋๋ค
๋ต ๊ฐ์ฌํฉ๋๋ค html์ ์ ๋ณด๋ฅผ axios๋ฅผ ํตํด ์๋ฒ๋ก ๋ณด๋ผ๋ คํฉ๋๋ค html์์ onclick ์ผ๋ก jsํ์ผ์์ ์ ์ ์ ๋ณด๋ฅผ ๋ฐ์ต๋๋ค ๊ทธ๋ฐ๋ฐ html์์ script src="https://unpkg.com/axios/dist/axios.min.js">script> ์ด๊ฑฐ ์ถ๊ฐํ๋ฉด html์ onclick์ด undefined์ด๊ณ npm์ผ๋ก axois์ถ๊ฐํด์ jsํ์ผ์์ import axios from 'axios'; ํ๋ฉด jsํ์ผ์ ํจ์๋ค์ด undefined์ ๋๋ค axios๋ฅผ ํตํด ์๋ฒ๋ก ๋ณด๋ด์ฃผ๋ jsํ์ผ์๋ง type์ ๋ชจ๋๋กํด์ import axios from 'axios'; ์ด๋ ๊ฒ ํ๋ฉด Failed to resolve module specifier "axios". Relative references must start with either "/", "./", or "../". ์ด ์ค๋ฅ๊ฐ ๋น๋๋ค ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น์?
- 0
- 4
- 914
Q&A
์ง๋ฌธ ๋ถํ๋๋ฆฝ๋๋ค
ํน์ nunjucks๋ ejs ์ ์ฐ๊ณ html ํ์ผ๋ง ๋ถ์ด์ค๊ฒ ํ ์ ์๋์?
- 0
- 4
- 914
Q&A
.env ์ง๋ฌธ์ ๋๋ค
js ํ์ผ ์์ ์๋ ํค๋ ๋ง์ฐฌ๊ฐ์ง๊ฒ ์ฃ ?
- 0
- 2
- 281
Q&A
์ง๋ฌธ ๋ถํ๋๋ ค์
๋ฐ๋ผํด๋ดค๋๋ฐ ERROR 2006 (HY000): MySQL server has gone away No connection. Trying to reconnect... Connection id: 8 Current database: *** NONE *** ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'BY 'sion1129'' at line 1 ์ด๋ ๊ฒ ๋น๋๋ค ๊ฐ์ฌํฉ๋๋ค
- 0
- 3
- 691
Q&A
404 ์ง๋ฌธ์ ๋๋ค
ํด๊ฒฐ์๋ฃ์ ๋๋ค!
- 0
- 1
- 168




