3 ms·
If the only purpose is for IP blacklists (bans, dos, etc), then doing 12 rounds of bcrypt would be counter productive. It'd be a lot of CPU usage on your end. E
by sehrope 13y ago
If the only purpose is for IP blacklists (bans, dos, etc), then doing 12 rounds of bcrypt would be counter productive. It'd be a lot of CPU usage on your end. Especially if its done for every request.
A better approach would be something quicker to compute but that you can destroy equally easily. Generate a random token that cycles every X minutes/hours. The HMAC the remote IP and this secret. Use the result for bans/rolling rate limiting. If you keep the token only in memory then you don't have to worry about the IP lists being leaked as they won't be recoverable.
- StavrosK 13y agoAn even better approach would be a Bloom filter.
- jdiez17 13y agoI've created an issue [1] to discuss this in GitHub - feel free to explain your ideas there and we'll figure out what would work best. [1] https://github.com/MediaCrush/MediaCrush/issues/116 https://github.com/MediaCrush/MediaCrush/issues/116