xssbook/index.js

53 lines
1.2 KiB
JavaScript
Raw Normal View History

2023-01-21 20:45:14 +00:00
require('dotenv').config()
2023-01-20 04:50:15 +00:00
const express = require('express')
const app = express()
const port = 8080
2023-01-21 20:45:14 +00:00
const rateLimiter = require('express-rate-limit')
const limiter = (min, count) => {
return rateLimiter({
windowMs: min * 60 * 1000,
max: count,
message: 'Too many requests, please try again later.',
standardHeaders: true,
legacyHeaders: false,
})
}
const cookieParser = require('cookie-parser')
app.use(cookieParser())
2023-01-20 04:50:15 +00:00
app.use(express.json());
app.use(express.static('public'))
2023-01-21 14:08:22 +00:00
app.get('/login', (req, res) => {
2023-01-20 04:50:15 +00:00
res.sendFile('login.html', { root: './public' })
})
2023-01-20 17:26:51 +00:00
app.get('/home', (req, res) => {
res.sendFile('home.html', { root: './public' })
})
app.get('/people', (req, res) => {
res.sendFile('people.html', { root: './public' })
})
2023-01-21 14:08:22 +00:00
app.get('/profile', (req, res) => {
res.sendFile('profile.html', { root: './public' })
})
2023-01-21 20:45:14 +00:00
app.use('/api', limiter(1,60))
app.use('/api/register', limiter(60, 5))
app.use('/api/login', limiter(10, 5))
2023-01-21 14:08:22 +00:00
const api = require('./src/api.js')
app.use('/api', api);
2023-01-20 17:26:51 +00:00
app.use((req, res, next) => {
res.status(404).sendFile('404.html', { root: './public' })
})
2023-01-20 04:50:15 +00:00
app.listen(port, () => {
console.log(`App listening on port http://127.0.0.1:${port}`)
})