I struggled a lot with managing the cookies and ensuring that the only books a user can edit or delete are the books that they added themselves. It was also difficult managing the username until I realized I was overcomplicating it.
I did not have as much trouble with my backend. The only thing I really struggled with was using authorize for each of the api calls that needed permissions. Even then, I referenced Activity 4b a lot, which made the process easier.
My app was not vulnerable to XSS attacks because I used helmet which added HTTP headers.
My app was not vulnerable to CSRF attacks because the cookies are strictly limited to the same-site context as specified in my cookieOptions.
I added rate limiting to my application code using express-rate-limit. I then limited it to 100 requests every 15 minutes.
The HTTP headers that were set was everything that came defaulted with helmet. I did not set any headers other than this.
I did not add anything else to secure my app.
Back