https://github.com/onebitjoy/moviesnodejs
Nodejs professional backend project 😁
https://github.com/onebitjoy/moviesnodejs
Last synced: 12 months ago
JSON representation
Nodejs professional backend project 😁
- Host: GitHub
- URL: https://github.com/onebitjoy/moviesnodejs
- Owner: onebitjoy
- License: apache-2.0
- Created: 2023-12-13T14:11:19.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-19T06:12:32.000Z (over 2 years ago)
- Last Synced: 2025-05-19T02:11:38.021Z (about 1 year ago)
- Language: JavaScript
- Size: 160 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Technologies:
- Node.js
- Express.js
- Mongoose
- MongoDB
-
Models:
- Movie
- Director
- Actor
- Genre
Functionality:
- Filtering
- Sorting
- Pagination
- Limited Fields
- Invalid Route Handling
- Error Handling for the entire application (currently working)
## Security Measures:
### 1 - Compromised Database
*Mitigation:* bcryptjs with sha256
### 2 - Brute Force Attacks
*Mitigation:*
1 - Use express-rate-limit(rate limiting for maximum attempts)
2 - Bcryptjs hashing latency
### 3- Cross-Site Scripting(XSS) attacks:
*Mitigation*:
1 - Store JWT in HTTPOnly cookies, use Secure and SameSite policies(yet to consider)
2 - Sanitize User Inputs
3 - Set special HTTP Header(using helmet)
### 4 - Denial of Service Attack
*Mitigation:*
1 - Implement Rate Limiting
2 - Limiting payload weight
3 - Avoid Invasive Regular Expressions
### 5 - Query Injection
*Mitigation:*
1 - Use Defined Schema
2 - Sanitize user inputs
### Miscellaneous:
1 - Always HTTPS
2 - Create random password reset token with expiry dates
3 - Deny access to JWT after password change
4 - Don't commit sensitive config data to git(use .gitignore)
5 - Don't send error details to clients(use Custom Error)
6 - Prevent CSRF(using csurf)
7 - Confirm email address after account is created
8 - Keep user logged in with refresh tokens
9 - Implement two-factor authencation
10 - Prevent parametric pollution causing uncaught exceptions