Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. Web Development
  3. ASP.NET
  4. Anti fraud voting system w/o login.

Anti fraud voting system w/o login.

Scheduled Pinned Locked Moved ASP.NET
helpquestionlearning
6 Posts 4 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Mohammad A Gdeisat
    wrote on last edited by
    #1

    Hi, I am developing a voting system for a company, everything is going OK but the ability to detect and reject fraud votes. Currently I am using cookies to determine whether the user has already voted or not, but this is not enough at all becoz a normal user can delete the cookie and vote again and again! A hacker can write a small program to send thousands of web requests that hold no cookies at all, which is of course a disaster! I though about saving the IP address of each vote and block multiple votes from one IP, but there are many shared machines in cafes, universities, etc. Furthermore, many machines may be behind a firewall which means they will have the same public IP address. I am sure that there are techniques to solve this problem but I couldn't find any by googling it, any ideas from experts? ps: I don't want a ready-to-use solution, I want to write it myself coz I want to learn it. Thanks everybody! :rose:

    And ever has it been that love knows not its own depth until the hour of separation Mohammad Gdeisat

    N B 2 Replies Last reply
    0
    • M Mohammad A Gdeisat

      Hi, I am developing a voting system for a company, everything is going OK but the ability to detect and reject fraud votes. Currently I am using cookies to determine whether the user has already voted or not, but this is not enough at all becoz a normal user can delete the cookie and vote again and again! A hacker can write a small program to send thousands of web requests that hold no cookies at all, which is of course a disaster! I though about saving the IP address of each vote and block multiple votes from one IP, but there are many shared machines in cafes, universities, etc. Furthermore, many machines may be behind a firewall which means they will have the same public IP address. I am sure that there are techniques to solve this problem but I couldn't find any by googling it, any ideas from experts? ps: I don't want a ready-to-use solution, I want to write it myself coz I want to learn it. Thanks everybody! :rose:

      And ever has it been that love knows not its own depth until the hour of separation Mohammad Gdeisat

      N Offline
      N Offline
      N a v a n e e t h
      wrote on last edited by
      #2

      Mohammad A Gdeisat wrote:

      I though about saving the IP address of each vote and block multiple votes from one IP,

      I guess, this is what CP is doing. Do your users need to login to cast their vote? If yes, you can store the user id and IP address. And each time check this combination exist. So that multiple users from same IP can vote once. I guess there is no 100% fraud proof technique is available. :)

      Navaneeth How to use google | Ask smart questions

      M 1 Reply Last reply
      0
      • N N a v a n e e t h

        Mohammad A Gdeisat wrote:

        I though about saving the IP address of each vote and block multiple votes from one IP,

        I guess, this is what CP is doing. Do your users need to login to cast their vote? If yes, you can store the user id and IP address. And each time check this combination exist. So that multiple users from same IP can vote once. I guess there is no 100% fraud proof technique is available. :)

        Navaneeth How to use google | Ask smart questions

        M Offline
        M Offline
        Mohammad A Gdeisat
        wrote on last edited by
        #3

        The problem is that users are not required to login, otherwise I could just store a vote-userID combination. Any ideas?

        And ever has it been that love knows not its own depth until the hour of separation Mohammad Gdeisat

        N C 2 Replies Last reply
        0
        • M Mohammad A Gdeisat

          The problem is that users are not required to login, otherwise I could just store a vote-userID combination. Any ideas?

          And ever has it been that love knows not its own depth until the hour of separation Mohammad Gdeisat

          N Offline
          N Offline
          N a v a n e e t h
          wrote on last edited by
          #4

          Mohammad A Gdeisat wrote:

          Any ideas?

          Not much. As I said, it is tough to implement fraud proof online voting system. Best method I can think is, you should keep the IP address validation and forget about multiple users using the same IP.

          Navaneeth How to use google | Ask smart questions

          1 Reply Last reply
          0
          • M Mohammad A Gdeisat

            The problem is that users are not required to login, otherwise I could just store a vote-userID combination. Any ideas?

            And ever has it been that love knows not its own depth until the hour of separation Mohammad Gdeisat

            C Offline
            C Offline
            Christian Graus
            wrote on last edited by
            #5

            Mohammad A Gdeisat wrote:

            Any ideas?

            Yes. You are screwed. If you don't validate the user, you can't validate the user. The end.

            Christian Graus Driven to the arms of OSX by Vista. "I am new to programming world. I have been learning c# for about past four weeks. I am quite acquainted with the fundamentals of c#. Now I have to work on a project which converts given flat files to XML using the XML serialization method" - SK64 ( but the forums have stuff like this posted every day )

            1 Reply Last reply
            0
            • M Mohammad A Gdeisat

              Hi, I am developing a voting system for a company, everything is going OK but the ability to detect and reject fraud votes. Currently I am using cookies to determine whether the user has already voted or not, but this is not enough at all becoz a normal user can delete the cookie and vote again and again! A hacker can write a small program to send thousands of web requests that hold no cookies at all, which is of course a disaster! I though about saving the IP address of each vote and block multiple votes from one IP, but there are many shared machines in cafes, universities, etc. Furthermore, many machines may be behind a firewall which means they will have the same public IP address. I am sure that there are techniques to solve this problem but I couldn't find any by googling it, any ideas from experts? ps: I don't want a ready-to-use solution, I want to write it myself coz I want to learn it. Thanks everybody! :rose:

              And ever has it been that love knows not its own depth until the hour of separation Mohammad Gdeisat

              B Offline
              B Offline
              binarymax
              wrote on last edited by
              #6

              Well I think no matter what you are not going to be able to stop very motivated repeat voters. Even major democractic elections using physical voting machines and verified official IDs still run into voter fraud and they've been doing it for years! However there are probably measures you can take to stem fraud to a minimum. Your first task is to make sure scripts can't vote, only people...so definitely use a CAPTCHA. Also have the user enter an email address with a unique link embedded inside, so they need to check their email and click on a link to make the vote count. This wont stop people with multiple emails voting, but you could also look into doing some simple data mining after the vote takes place to notice any glaring issues...like if there are 10 votes in 10 minutes from the same IP. Another critical note: whatever this voting system is going to elect, it better not be important! Because if it is, someone motivated enough will probably be able to crack, or at least bias, whatever system you have in place. Good luck!

              1 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • World
              • Users
              • Groups