Security 在GET变量中使用长字符串是识别用户的安全方法吗?
我正在制作一个Twilio应用程序。Twilio可以在通话结束后向服务器发送请求,但它无法与我网站的登录用户关联,因为Twilio正在发出独立请求。如果我告诉Twilio在Security 在GET变量中使用长字符串是识别用户的安全方法吗?,security,language-agnostic,twilio,Security,Language Agnostic,Twilio,我正在制作一个Twilio应用程序。Twilio可以在通话结束后向服务器发送请求,但它无法与我网站的登录用户关联,因为Twilio正在发出独立请求。如果我告诉Twilio在 example.com/response.html?token=ba38pgab38g4agdusoehle8qihxs&data=somedata 然后使用这个令牌来验证这个Twilio请求是否与用户关联,这安全吗 我以前在密码重置表单上见过这种技术。电子邮件将包含一个链接,并且用户的身份仅使用令牌确认 在我的T
example.com/response.html?token=ba38pgab38g4agdusoehle8qihxs&data=somedata
然后使用这个令牌来验证这个Twilio请求是否与用户关联,这安全吗
我以前在密码重置表单上见过这种技术。电子邮件将包含一个链接,并且用户的身份仅使用令牌确认
在我的Twilio应用程序中执行此操作安全吗?有什么需要注意的地方吗?它与远程HTTP客户端(如浏览器)向服务器发出的任何其他请求一样安全。如果您想确保Twilio服务器和您的服务器之间没有人可以读取请求,您应该使用HTTPS/SSL
对于这个用例,最好将发送给服务器的每个请求的CallSid值与系统中的用户相关联。当已完成呼叫的StatusCallback启动时,查找与该呼叫相关联的用户并采取相应的行动。一些基于浏览器的单点登录协议(如OpenID和SAML)使用类似的技术在您尝试验证的站点和执行验证的站点之间重定向时跟踪状态。我认为这项技术对于你想要达到的目标来说已经足够好了
我不熟悉Twilio,但我会小心使用它来识别用户。为每个请求生成一个唯一的代码(也称为nonce),并在响应中传递该nonce将更加安全,因为它只标识特定的请求。这可能有点过分。您是如何生成令牌的?目前我正在使用PHP MD5函数连接用户的数据库ID号、电子邮件,并填充一个不变的任意字符串。在下面的回答中添加了另一半