我正在与质量学合作,它只是一个基于网络的调查引擎。要求是,一旦用户完成调查,他们将得到一个小奖品的形式,礼品代码。由于我无法在Qualtrics平台上托管奖励代码数据,所以我的想法是将奖励代码存储在远程服务器上。当用户完成调查时,他们将被定向到我的服务器(https),指向一个PHP脚本,该脚本将颁发奖品。从表面上看,这是可能的,因为作为一项定制,它们允许在完成调查后重定向到URL。
对于颁发奖项的PHP脚本,我面临的问题如下:
这是很难解决#1,因为它似乎是在调查完成后,你只是得到一个基本的重定向到我的网站。可以将GET数据添加到URL中,因为它非常容易读,而且不提供安全性。甚至加密GET数据似乎也不可行,因为黑客一看到数据字符串就可以复制它。
我必须地址#2的想法是使用PHP检查用户的IP地址,并在单向加密后将地址存储在我的DB中。这种方式的IP将是未知的,但我可以检查副本,只允许一个奖励每个IP。
所以问题是,它甚至有可能做我试图做的只是一个简单的URL重定向?我的第二个地址是可以接受的吗?
谢谢。
发布于 2016-03-18 12:15:17
可能有很多种方法可以解决这个问题。脑海中浮现的两个:
1)在调查结束时,Qualtrics在Qualtrics数据中创建了一个名为ResponseID的嵌入式数据字段。您可以在重定向中包含ResponseID,然后让您的php脚本调用Qualtrics,并尝试使用该ResponseID检索响应,以确保其存在。
2)在调查结束之前,您可以对创建唯一id的脚本执行web服务调用,将id存储在服务器端,并将其作为嵌入式数据字段返回到调查。然后在重定向中传递唯一的id,并确保它与存储的唯一id匹配。
根据下面的注释进行编辑:您可以通过参数值中的管道将自定义参数添加到重定向中,如下所示:
http://mywebsite.com/myscript.php?rid=${e://Field/ResponseID}发布于 2016-03-18 12:16:48
如果您能够为重定向url生成特殊的请求参数并使其对每个用户都是唯一的,那么您可以发明一些算法,用它加密用户ID,并在重定向url中作为参数传递这个ID。
https://stackoverflow.com/questions/36081933
复制相似问题