소개
게시글
질문&답변
URL 직접 접근을 막는 방법
네 알겠습니다! 주말임에도 불구하고 답변해주셔서 감사합니다.
- 0
- 7
- 5K
질문&답변
URL 직접 접근을 막는 방법
네 말씀하신 부분이 페이지가 처음 마운트될때 redirect를 해야하기에 useEffect로 URL 직접 접근을 막을 수 있는 리덕스 데이터가 필요하다는 것이군요?죄송하지만 그렇다면 순차적으로 페이지들을 history.push('url')해서 넘기고 있는데 직전 데이터들이 리덕스 상태값에서 비워져있는 상태라면 리다이렉트를 하는 방법도 나쁘지 않은 방법이 될수 있는건가요?
- 0
- 7
- 5K
질문&답변
URL 직접 접근을 막는 방법
답변 감사합니다. Next.js와 별개로 일반적인 리액트에서도 사용할 수 있을가요?
- 0
- 7
- 5K
질문&답변
URL 직접 접근을 막는 방법
(사진) 설명이 잘 될진 모르겠지만... 현재 이런식으로 되어있고 ducks패턴으로 작업하여서 각 container마다 로그인한 상태인지 확인하는 코드들이 있습니다. http://localhost:3000/host/make를 거치지 않고 http://localhost:3000/host/make/title를 바로 가면 리다이렉트로http://localhost:3000/host/make로 보내고 싶습니다.
- 0
- 7
- 5K
질문&답변
AWS-s3를 연결하는데 에러가 나는데 확인 부탁드립니다.
감사합니다!!! 저 에러는 해결했는데요ㅜㅜㅜㅜㅜ 또 에러가 나네요 ㅠㅠ MAP을 못찾는다는데요 ㅜㅜㅜㅜㅜ TypeError: Cannot read property 'map' of undefined at /Users/sunjaekim/Documents/PROJECTS/asumtable-backend/routes/users.js:125:26 at Layer.handle [as handle_request] (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/layer.js:95:5) at next (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/route.js:137:13) at Immediate._onImmediate (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/multer/lib/make-middleware.js:53:37) at processImmediate (internal/timers.js:458:21) TypeError: Cannot read property 'map' of undefined at /Users/sunjaekim/Documents/PROJECTS/asumtable-backend/routes/users.js:125:26 at Layer.handle [as handle_request] (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/layer.js:95:5) at next (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/express/lib/router/route.js:137:13) at Immediate._onImmediate (/Users/sunjaekim/Documents/PROJECTS/asumtable-backend/node_modules/multer/lib/make-middleware.js:53:37) at processImmediate (internal/timers.js:458:21) POST /api/user/image 500 27.541 ms - 779
- 0
- 7
- 2K
질문&답변
AWS-s3를 연결하는데 에러가 나는데 확인 부탁드립니다.
에러메세지 전문 입니다. :) Error: connect EHOSTDOWN 169.254.169.254:80 - Local (192.168.1.104:62481) at internalConnect (net.js:923:16) at defaultTriggerAsyncIdScope (internal/async_hooks.js:351:12) at net.js:1011:9 at processTicksAndRejections (internal/process/task_queues.js:79:11) POST /api/test/images 500 5613.658 ms - 452 APP.js const express = require("express"); const cors = require("cors"); const session = require("express-session"); const cookieParser = require("cookie-parser"); const passport = require("passport"); const dotenv = require("dotenv"); const logger = require("morgan"); const path = require("path"); const connectRedis = require("connect-redis"); const RedisStore = connectRedis(session); var indexRouter = require("./routes/index"); var authRouter = require("./routes/auths"); var userRouter = require("./routes/users"); var hostRouter = require("./routes/hosts"); var adminRouter = require("./routes/users"); var tourRouter = require("./routes/tours"); var favoriteRouter = require("./routes/favorites"); var orderRouter = require("./routes/orders"); var imageRouter = require("./routes/images"); var testRouter = require("./routes/imageTest"); const db = require("./models/index"); const passportConfig = require("./passport"); dotenv.config(); const app = express(); db.sequelize .sync({ force: false }) .then(() => { console.log("ASUM_DB Sequelize Sync Success"); }) .catch(console.error); passportConfig(); const sessionOption = { resave: false, saveUninitialized: false, secret: process.env.COOKIE_SECRET, proxy: true, name: "sessionID", cookie: { httpOnly: true, secure: false, }, store: new RedisStore({ host: process.env.REDIS_HOST, port: process.env.REDIS_PORT, pass: process.env.REDIS_PASSWORD, logErrors: true, }), }; app.use("/", express.static(path.join(__dirname, "/uploads"))); app.use(express.json()); app.use( express.urlencoded({ extended: true, }) ); app.use(cookieParser(process.env.COOKIE_SECRET)); app.use(session(sessionOption)); app.use(logger("dev")); app.use(cors({ origin: true, credentials: true })); app.use(passport.initialize()); app.use(passport.session()); app.use("/api", indexRouter); app.use("/api/auth", authRouter); app.use("/api/user", userRouter); app.use("/api/host", hostRouter); app.use("/api/admin", adminRouter); app.use("/api/tours", tourRouter); app.use("/api/favorites", favoriteRouter); app.use("/api/orders", orderRouter); app.use("/api/images", imageRouter); app.use("/api/test", testRouter); module.exports = app; ROUTER const express = require("express"); const multer = require("multer"); const path = require("path"); const multerS3 = require("multer-s3"); const AWS = require("aws-sdk"); const router = express.Router(); const dotenv = require("dotenv"); const { Tour, Image, Host, User } = require("../models"); const { isLoggedIn } = require("./middlewares"); // AWS-S3 설정 AWS.config.update({ accessKeyId: process.env.S3_ACCESS_KEY_ID, secretAccessKey: process.env.S3_SECRET_ACCESS_KEY, region: "ap-northeast-2", }); //MULTER-S3 설정 const upload = multer({ storage: multerS3({ s3: new AWS.S3(), bucket: "asumtable-v1.0-s3", key(req, file, cb) { cb(null, `original/${Date.now()}_${path.basename(file.originalname)}`); }, }), limits: { fileSize: 10 * 1024 * 1024 }, }); //이미지 저장 위치 맴핑 router.post( "/images", // isLoggedIn, upload.array("image"), (req, res, next) => { // POST /post/images console.log(req.files); res.json( req.files.map((v) => v.location.replace(/\/original\//, "/thumb/")) ); } ); module.exports = router;
- 0
- 7
- 2K
질문&답변
AWS-s3를 연결하는데 에러가 나는데 확인 부탁드립니다.
넵!! AWS 관련 키들은 .env에 넣어 두었구요. 버킷도 퍼블릭으로 설정해두었습니다!! (서버에서는 aws.configure로 세팅) (사진) (사진)
- 0
- 7
- 2K