Twilio接收短信安全

时间:2016-01-05 07:06:22

标签: python flask twilio

我跟随此处的快速入门示例: Twilio Python Quickstart

服务器应如何验证请求实际来自twilio?

我正在查看电话号码配置屏幕,this is what I see.我没有看到IP白名单或指定twilio身份验证凭据的方式。

似乎任何知道URL和响应格式的人都可能假装是twilio。

感谢您的帮助:)

2 个答案:

答案 0 :(得分:2)

Twilio开发者传道者在这里。

我知道Akhil已经回答了这个问题(感谢Akhil!),你接受了答案。但是,还有一种,可以说是更好的验证请求来自Twilio的方法,我也希望与您分享。

当Twilio拨打您的短信网址(或您设置的任何其他网址)时,它会使用网址,请求中的参数和您帐户的验证令牌的组合对请求进行签名。然后,签名将作为请求标头X-Twilio-Signature发送。

要验证Twilio发出的请求,您可以按照相同的流程创建签名,然后与Twilio发送的签名进行比较。如果匹配,您可以保证Twilio发送请求。

这是它的高级视图,如果您想要阅读更多内容,包括创建签名算法的完整描述,请查看Twilio's security page。如果你正在使用Python,the Twilio Python library provides the RequestValidator to easily validate requests

答案 1 :(得分:1)

当特定的twilio号码收到消息时,将向与该号码相关联的SMS URL发出请求。与消息体一起,Twilio将传递许多参数。可以看到完整的参数列表here)。

现在,您可以检查邮件中传递的AccountSid是否已设置,并且与您的帐户Sid相同,以便快速验证。

如果您需要更高级别的可靠性,则可以使用MessageSid参数使用Message查询REST API资源,并在REST API获取的请求和资源之间进行交叉检查

(请参阅here了解twilio消息REST API