我下面的快速入门例子在这里: Twilio Python QuickstartTwilio接收SMS安全
服务器应该怎样验证该请求实际上是从twilio来了吗?
我正在查看电话号码配置屏幕和this is what I see.我没有看到IP白名单或指定twilio的身份验证凭据的方式。
似乎任何知道URL和响应格式的人都可能假装是twilio。
感谢您的帮助:)
我下面的快速入门例子在这里: Twilio Python QuickstartTwilio接收SMS安全
服务器应该怎样验证该请求实际上是从twilio来了吗?
我正在查看电话号码配置屏幕和this is what I see.我没有看到IP白名单或指定twilio的身份验证凭据的方式。
似乎任何知道URL和响应格式的人都可能假装是twilio。
感谢您的帮助:)
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。
是否有可能在非https回叫url上实现安全性? –
如果您执行签名检查,正如我描述并链接到上面,那么您可以确定webhook的内容是Twilio发送的内容。如果你使用的是非https,那么你不能保证有人没有拦截并阅读你的webhook的内容。我们建议您使用https,如果您需要更简单且免费的方式来设置https,我建议您查看[letsencrypt](https://letsencrypt.org/)。 – philnash
我有多个环境,我必须实现安全性。他们中的大多数(除了一个测试环境)都在https上。 但我能够通过更正网址和参数 –