Jul 19, 2016
Create security-checklist.md
|
|
|
18 |
- [ ] Set an expiration on the reset password token for a reasonable period. |
|
19 |
- [ ] Expire the reset token after it has been successfully used. |
|
20 |
|
|
21 |
|
|
22 |
##### USER DATA & AUTHORIZATION |
|
23 |
- [ ] Any resource access like, `my cart`, `my history` should check the logged in user's ownership of the resource using session id. |
|
24 |
- [ ] Serially iterable resource id should be avoided. Use `/me/orders` instead of `/user/37153/orders`. This acts as a sanity check in case you forgot to check for authorization token. |
|
25 |
- [ ] `Edit email/phone number` feature should be accompanied by a verification email to the owner of the account. |
|
26 |
- [ ] Any upload feature should sanitize the filename provided by the user. Also, for generally reasons apart from security, upload to something like S3 (and post-process using lambda) and not your own server capable of executing code. |
|
27 |
- [ ] `Profile photo upload` feature should sanitize all the `EXIF` tags also if not required. |