Budget: 3000 UAH Deadline: 2 days
Good day.
Creating the page is only half the battle; we need to think about how to identify the user. If we require registration, a large percentage of users will not bother with it. We can identify by IP, but that's also delicate... We can take the browser, IP, operating system, calculate a hash from this data, and store it as the user identifier. This way, during repeated voting, the user's vote can be ignored, or it can immediately show that "You have already signed this petition." In the database, such votes can be stored as a pair of values hash - post_id, which will allow creating more petitions in the future if needed.