我下面的快速入門例子在這裏: 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上。 但我能夠通過更正網址和參數 –