Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Twilio と Web アプリ
連携におけるセキュリティ

shin1x1
March 09, 2016

Twilio と Web アプリ
連携におけるセキュリティ

2016/02/27 TwilioJP-UG大阪&AWScean合同勉強会

shin1x1

March 09, 2016
Tweet

More Decks by shin1x1

Other Decks in Technology

Transcript

  1. D .BTBTIJ4IJOCBSB!TIJOY ి࿩൪߸͕ૹΒΕΔ 図 図 - twilio 図 図 -

    twilio )551ϦΫΤετ
 'SPNYYYYYYYY ʢൃ৴ݩి࿩൪߸ʣ
  2. D .BTBTIJ4IJOCBSB!TIJOY ձһೝূ 図 図 - twilio 図 図 -

    twilio YYYYYYͰ%#Λࢀরͯ͠ ձһΛಛఆ͢Δ
  3. D .BTBTIJ4IJOCBSB!TIJOY ৘ใΛ5XJ.-Ͱฦ͢ 図 図 - twilio 図 図 -

    twilio 5XJ.-ʢ9.-ʣΛฦ͢  YNMWFSTJPOFODPEJOH65'  3FTQPOTF 4BZWPJDFXPNBOMBOHVBHFKB+1
 ླ໦͞ΜͷϙΠϯτ͸ϙΠϯτͰ͢ɻ 4BZ 3FTQPOTF
  4. D .BTBTIJ4IJOCBSB!TIJOY ِ૷ϦΫΤετ 図 図 - twilio 図 図 -

    twilio Twilio Webαʔό ձһ DVSME'SPN#
 IUUQTFYBNQMFDPNBQJDBMMJOH  YNMWFSTJPOFODPEJOH65'  3FTQPOTF 4BZWPJDFXPNBOMBOHVBHFKB+1
 ాத͞ΜͷϙΠϯτ͸ϙΠϯτͰ͢ɻ 4BZ 3FTQPOTF
  5. UXJMJPTELʹΑΔݕূ $validator = new Services_Twilio_RequestValidator($authToken);
 
 // ϔομ͔Βॺ໊औಘ $signature =

    $request->header('X-Twilio-Signature');
 
 // URL औಘ Request::setTrustedProxies([$request->getClientIp()]);
 $url = $request->getUri();
 
 // POST ύϥϝʔλऔಘ $postParameters = $request->input();
 
 // ॺ໊ݕূ if (!$validator->validate($signature, $url, $postParameters)) {
 // OK
 } else {
 // NG
 }