Add helmet middleware for security headers (CSP, X-Content-Type-Options, X-Frame-Options, HSTS, Referrer-Policy) and disable X-Powered-By. Add a global API rate limiter (100 req/min/IP) using express-rate-limit. Replace the hand-rolled in-memory login rate limiter (~25 lines) with a dedicated express-rate-limit instance (5 attempts/min/IP) on the login route. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
24 lines
596 B
JSON
24 lines
596 B
JSON
{
|
|
"name": "girl-scout-cookies",
|
|
"private": true,
|
|
"scripts": {
|
|
"dev": "concurrently \"npm run server\" \"npm run client\"",
|
|
"server": "node server/index.js",
|
|
"client": "cd client && npm run dev",
|
|
"build": "cd client && npm run build",
|
|
"start": "NODE_ENV=production node server/index.js"
|
|
},
|
|
"dependencies": {
|
|
"better-sqlite3": "^11.6.0",
|
|
"cookie-parser": "^1.4.7",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.4.5",
|
|
"express": "^4.21.1",
|
|
"express-rate-limit": "^8.2.1",
|
|
"helmet": "^8.1.0"
|
|
},
|
|
"devDependencies": {
|
|
"concurrently": "^9.1.0"
|
|
}
|
|
}
|