Link to home
Start Free TrialLog in
Avatar of datanova
datanova

asked on

Anonymity issue

Suppose you are administering a web-based questionnaire which goes out to a select group of clients. You email them the .htaccess controlled user and password which allows them to get into the questionnaire area. How can you guarantee that their responses are anonymous (to you) while at the same time ensuring that noone answers the questionnaire more than once?
Avatar of jyu_88
jyu_88

for a list of user emails, randomly generate username/password pair, add it to your smb/passwd, send email to the user.
foreach $email (@emaillist) {
      $uname = &myRandom(8);
      $pass = &myRandom(8);
      #email the pair to $email
      #add the pair to your AuthUserFile
}

make a copy of your AuthUserFile, named the file 'controlList'
when a user hit submit, your CGI will validate his/her input, accept the input only if the user is in a contrl file, then remove entry from 'controlList'. This way user will only be able to input once. And, since the association between username and email has lost, you don't really know who did the submit even if you know the user's htaccess name.
Avatar of datanova

ASKER

But what's to stop a client logging on twice and pretending to be different people? He could generate several pairs of usernames and passwords and submit several copies of the same questionnaire. Couldn't he?

Keep a database of people who has already genetrated a u/p pair.
Do not allow repeats.
cheers,
   alf
How would I know which people had generated u/p pairs? They would have to tell me. So what about those who choose not to tell me? Maybe I don't understand your suggestion.
----------------------------------
<hr>

I think the answer is this:

Questionnaire administrator sends out unreproducable pieces of parchment (or whatever) to the respondent group together with the .htaccess password to the relevant web area. Respondents then fill in the questionnaire and fill in an identification field containing any string of characters they like. They then write the same string of characters on the piece of parchment and post it back anonymously to central office who can then match the parchment with the first incoming questionnaire response containing said id field string. Granted that with paranoia mode on the sending IP address might be traced to a particular company, I think that this level of security would be acceptable.

Moderator!

I've answered my own question.
Can I have 50 points please?

Thanks,

Alex.
You are kidding:-)

Datanova, I think you misunderstood my answer.

The login/password is generated on the server and send to users one pair each. The same login/password is added to .htaccess, which control the access to the page.   The perl script above is  a standalone for this purpose, not the CGI itself, in other words, the users has no access to it at all.
The user can generate any login/password pairs themselves, but, that's more like hacking through brutal-force. nobody can stop them from doing that.
OK so what's to stop a user generating any number of login/passwords? See my comment posted on Monday.

like I said, nothing to stop them, or any hacker for that matter, to generate unlimited pairs of login/passwd to do brutal-force hacking. The thing is their home-brew logins cannot match what you created for other users so they cannot login as other users, if you myRandom sub is really random and kept in a safe place. John Doe users shall not have access to the myRandom sub at all.

To avoid hacker to get even an vague idea of your myRandom routine thus get a better chance of guessing it right, you need to authenticate users over a secured channel such as a  strong-encrypted SSL channel.
I think I might understand you now. So the idea is that the questionnaire administrator randomly generates user/pwd pairs and emails them to the client group without him (the administrator) knowing to which client which user/pwd pair has been sent. Is that right?

ASKER CERTIFIED SOLUTION
Avatar of jyu_88
jyu_88

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
In which case your answer works and is logically equivalent to my parchment answer. The two main differences are that my answer is more labour intensive and requires stamps and people to lick them, but in the case of the client being paranoid about company sensitive material he might prefer my solution since he probably wouldn't believe that I wouldn't hack my own email system and find out who sent which responses. (Of course, I could also secretly mark the parchment which would serve the same purpose).

So thanks. You'll be getting some points.

See below (or above).
iyu 88,

You seem to have received only 5 points instead of 50. I don't know what happened there. Any ideas?