Prevent a survey respondent from taking a survey more than once?

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered

Anyone have a best practice / idea for sending out "anonymous" survey URL link and having the survey respondent only be able respond to the survey one time?

Thanks again as usual.

Photo of Andrew

Andrew

  • 0 Points

Posted 3 years ago

  • 0
  • 1
Photo of Ⲇanom the ultimate (Dan Diebolt)

Ⲇanom the ultimate (Dan Diebolt), Champion

  • 30,074 Points 20k badge 2x thumb
Yes you can do this using a technique called "browser fingerprinting". Perhaps the easiest way to undersand this is to visit EFF's Panopticlick test site:

https://panopticlick.eff.org/

This site should convince you that there are so many configuration options in your browser that everyone's browser configuration is essentially unique. 

So to determine the uniqueness of your browser installation you can use a library such as Fingerprint2:

Fingerprint2
https://github.com/Valve/fingerprintjs2


This code will return a unique hash fingerprinting your user's browsers:

$.getScript("https://cdn.jsdelivr.net/fingerprintjs2/1.0.3/fingerprint2.min.js", function() {
  new Fingerprint2().get(function(result){
    console.log(result);
    //outputs "d42ad4b09e6c2e89814846ea6e81c1f3"
  });
});

So what you have to do is embed this script into your QuickBase page and calculate and store the hash values in a table as each new user visits the page. If the hash is not in the table you allow the survey to be displayed. If the has value is already in the table you do not display the survey.

Trivia: Did you know that the Grateful Dead member John Perry Barlow co-founded the EFF (Electronic Frontier Foundation)?

https://www.youtube.com/watch?v=pafY6sZt0FE