Qualtrics第三方附加最佳实践

时间:2016-03-18 10:26:30

标签: php security web qualtrics

我正在使用Qualtrics,这只是一个基于网络的调查引擎。要求是,一旦用户完成调查,他们将以礼品代码的形式收到小额奖品。由于我无法在Qualtrics平台上托管奖品代码数据,我的想法是将奖品代码存储在远程服务器上。当用户完成调查时,他们将被定向到我的服务器(https),以及将发放奖品的PHP脚本。从表面上看,这是可能的,因为作为一项自定义,他们允许在完成调查后重定向到URL。

我遇到的问题,关于我发布奖品的PHP脚本如下:

  • 1)确保访问者参与调查并实际参与调查 完成了调查。

    2)每次调查每位参与者只能获得1个奖品。

很难解决#1问题,因为看起来调查完成后,您只需要对我的网站进行基本的重定向。可以将GET数据添加到URL,它非常容易阅读并且不提供安全性。甚至加密GET数据似乎也不可行,因为黑客只要看到它就可以复制数据字符串。

我必须解决#2的想法是使用PHP检查用户的IP地址,并在单向加密后将地址存储在我的数据库中。这种方式IP是未知的,但我可以检查重复,只允许每个IP 1个奖项。

所以问题是,是否可以通过简单的URL重定向来完成我想做的事情?我对解决#2的想法是否可以接受?

感谢。

2 个答案:

答案 0 :(得分:2)

可能有很多方法可以解决这个问题。想到两个:

1)在调查结束时,Qualtrics会创建一个名为ResponseID的嵌入数据字段,该字段位于Qualtrics数据中。您可以在重定向中包含ResponseID,然后让您的php脚本调用Qualtrics REST API,并尝试使用该ResponseID检索响应以确保它存在。

2)在调查结束之前,您可以对创建唯一ID的脚本执行Web服务调用,将ID存储在服务器端,并将其作为嵌入数据字段返回到调查。然后在重定向中传递唯一ID,并确保它与您存储的唯一ID匹配。

根据以下评论编辑: 您可以通过管道输入参数值将自定义参数添加到重定向:

http://mywebsite.com/myscript.php?rid=${e://Field/ResponseID}

答案 1 :(得分:0)

如果您能够为重定向网址生成特殊请求参数并为每个唯一的用户创建,那么您可以创建一些算法,并使用它加密用户ID并将此ID作为重定向网址中的参数传递。