Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider replace IP restriction with another mechanism #11

Open
lenaten opened this issue Jul 3, 2017 · 4 comments
Open

Consider replace IP restriction with another mechanism #11

lenaten opened this issue Jul 3, 2017 · 4 comments

Comments

@lenaten
Copy link

lenaten commented Jul 3, 2017

IPv4 addresses are almost over, so a lot of ISPs provide a single IP to multiple users (NAT).
One possible and simple user validation could be a Github user account.

@lenaten lenaten changed the title Replace IP restriction with another mechanism Consider replace IP restriction with another mechanism Jul 3, 2017
@scttcper
Copy link

scttcper commented Jul 3, 2017

Maybe have them sit on a landing page and complete a proof of work? https://github.com/indutny/proof-of-work
Edit: used here currently https://indutny.github.io/vote.wdgt/

@aleemb
Copy link

aleemb commented Jul 8, 2017

Another mitigation strategy is to expire IPs in the database after X minutes. This will let people vote once per X minutes which is enough to mitigate voter fraud and also sufficient to avoid collisions (two people behind same IP voting within X minutes of each other). Not sure if DynamoDB supports this but I have implemented something similar in Redis since features key expirations.

The proof-of-work concept is pretty cool too.

@aleemb
Copy link

aleemb commented Jul 8, 2017

DynamoDB supports it seems https://aws.amazon.com/about-aws/whats-new/2017/02/amazon-dynamodb-now-supports-automatic-item-expiration-with-time-to-live-ttl/

This will also keep the number of records to a minimum since you won't have to store millions of IP addresses.

@tj
Copy link
Member

tj commented Jul 8, 2017

ahh I'm storing in a set right now, in the poll's doc, but could create a second doc for the ip set which expires as a whole

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants