数据质量和验证所需的建议

时间:2011-11-24 15:39:46

标签: php javascript jquery mysql ajax

进一步编辑:鉴于个人只能从单独的网站访问调查问卷,而不是局域网/广域网内部 - 我认为我能做的就是为每组人提供一个链接,并且只是限制对于团体中的数字,不能控制10个人回复的问题或1个人做10次...

编辑:想象一下这样一个场景,其中有1个人--10个人需要完成调查问卷,所有这些都来自同一台PC。我们不能联系10个人,我们没办法这样做。我们需要确保(尽可能)只有10个答案,理想情况下,这些答案由10个人完成,而不是1个人这样做10次!**

这是一个比一个问题的具体答案所需要的更一般的建议 - 但是,我仍然希望你们可以提供帮助。

目前我们有一份简短的调查问卷,我们需要确保每个人只完成一次以确保数据有效性。

我们无法通过电子邮件向每个人发送问卷的唯一链接,因为他们没有电子邮件地址。

此外,我们还需要控制每组人员对调查问卷的回复数量(例如,一组10人不能有11个回复)。

有没有人就如何在不向个人发送唯一链接的情况下实现这一目标提出任何建议?

注意,使用的技术是MySQL,PHP,Javascript(一些jQuery和极少量的Ajax)。

提前致谢,

荷马。

6 个答案:

答案 0 :(得分:1)

一个问题:你如何识别独特个体?

要么,他们在访问的网址中有一些标识符,要么他们登录系统才能进行调查。

我认为您的数据库中应该有一个表格,用于记录每个参与者,以及他们是否参加了调查。然后在登录时检查这一点,并在适当时允许它们继续。

答案 1 :(得分:0)

几乎不可能以100%的绝对确定性唯一地识别特定用户。

用户可以随时删除cookie,更改其IP地址,清除缓存和localStorage。

理论上,用户可以填写调查问卷并格式化他的电脑,然后重新填写。

真正的问题是,你在哪里妥协?您可以随时设置cookie,并将其与数据库中的IP地址进行比较,是否可以保证不能绕过它?不,它不能。您的用户有多恶意?他们会试图欺骗系统吗?

另一种可能性是需要为填写问卷的每个用户制作一个帐户,但同样,没有什么可以阻止用户打开多个帐户。

答案 2 :(得分:0)

您何时将某人视为唯一

您可以通过设置Cookie来识别人员 - 但是,当用户清理Cookie时会发生什么?当用户移动到另一台计算机时会发生什么?

如果2个人从同一台计算机上完成相同的问卷怎么办?

答案 3 :(得分:0)

每个人填写调查问卷需要某种独特的标识符,可以是电子邮件地址(虽然你说人们没有电子邮件地址?孩子是否可以填写或者其他什么?)或姓名,地址,邮政编码。没有数据集我就无法帮助那么多。

或者,如果您知道这将由不同家庭的人填写,那么我猜您可以使用IP地址作为唯一标识符(但这不是理想的,我也不推荐)。< / p>

答案 4 :(得分:0)

为每个用户生成唯一的参数线,例如:

group=5&user=[GUID]

使用algorythm + urlencode结果加密这些参数

通过这种方式,您将获得用户加密的唯一网址,您可以将其传递给他。

qn.php?hdfs78376897923874987 

获取页面urldecode / decrypt参数。保留数据库结果 - 来自哪个组的答案,如果此人已经回答等

答案 5 :(得分:0)

开始提问:你如何确定一个人的身份?你如何分组这些身份?

下一篇:您是否在一个网络上?这些用户是否在您的办公室或公司LAN中的单个网络域中?他们是来自互联网或路人的随机人吗?

例如,如果您的用户在您的活动目录中注册,您可以使用:

http://alpho011.hubpages.com/hub/Use-Windows-Login-in-PHP-Applications

对于分组,从上面的示例继续,您还可以访问其对象属性,并查看是否可以像对象属性“manager”或“department”那样分组该方向

如果您的用户来自不同的位置且不受VPN连接约束,那么您可以查看存储IP地址..但是根据调查问卷和您的应用程序所针对的用户类型,这可能不会。

将用户限制为没有身份的一次性提交是非常棘手的。也许你可以给我们更多的信息?