• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 307
  • Last Modified:

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?
0
datanova
Asked:
datanova
  • 8
  • 4
1 Solution
 
jyu_88Commented:
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.
0
 
datanovaAuthor Commented:
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?

0
 
alien_life_formCommented:
Keep a database of people who has already genetrated a u/p pair.
Do not allow repeats.
cheers,
   alf
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
datanovaAuthor Commented:
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.

0
 
datanovaAuthor Commented:
Moderator!

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

Thanks,

Alex.
0
 
jyu_88Commented:
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.
0
 
datanovaAuthor Commented:
OK so what's to stop a user generating any number of login/passwords? See my comment posted on Monday.

0
 
jyu_88Commented:
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.
0
 
datanovaAuthor Commented:
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?

0
 
jyu_88Commented:
yes
0
 
datanovaAuthor Commented:
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.

0
 
datanovaAuthor Commented:
See below (or above).
0
 
datanovaAuthor Commented:
iyu 88,

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

0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

  • 8
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now