DailyMotion Cloud API如何获得具有referer严格安全性的URL?

时间:2014-11-19 11:11:14

标签: php security iframe streaming dailymotion-api

我坚持使用DailyMotionCloud API 我需要在其上签署一个安全级别的网址

  1. 地理封锁只允许:法国
  2. referer strict only only: 1 Domain (oxygenstream.fr)
  3. 我的代码有效但我不知道在签署我的网址时将安全级别放在何处 我应该把它放在[-<pub-sec-data>]组件中[-<pub-sec-data>]

    我应该如何在<iframe src="<?php require_once 'CloudKey.php'; $user_id = 'aaaaaaaaaaaaaaaaaaaaaa'; $api_key = 'bbbbbbbbbbbbbbbbbbbbbb'; $media_id = '5466232b947399290102cdb6'; $preset_id = '54662c7c06361d307810e3b5'; // player preset $preset_name = 'OxygenStream'; // preset name $seclevel = 32800 ; // I need 2 security levels (country & referer strict) // 32800 = 1 << 5 . 1 << 15 or CLOUDKEY_SECLEVEL_COUNTRY . CLOUDKEY_SECLEVEL_REFERER_STRICT $countries = 'cc=fr'; // I'm supposed to put it in the [-<pub-sec-data>] $referers = 'rf=http://www.oxygenstream.fr/vod/dmcloud';; // I'm supposed to put it in the [-<pub-sec-data>] // We create the url $url = sprintf('https://api.dmcloud.net/player/embed/%s/%s/';, $user_id, $media_id); // We sign the url $url = CloudKey_Helpers::sign_url($url, $api_key, $seclevel, null, null, null, $countries, $referers, null); // We write the URL in the Iframe print($url . '&autoplay=1&preset=54662c7c06361d307810e3b5');?>" width="640" height="360" frameborder="0" allowfullscreen></iframe> 中存储de referer strict URL和Country?

    以下是CloudKey.php的代码: https://www.dmcloud.net/doc/api/api-streaming.html#signing-a-url

    这是我的代码:

    {{1}}

    提前感谢您帮我解决此问题。
    希望您知道如何修复我的代码。

    祝你今日美好,

    安托

1 个答案:

答案 0 :(得分:0)

由于您使用的是CloudKey PHP SDK,因此您不必自己构建URL。

使用SDK时,这对我有用:

$user_id = 'aaaaaaaaaaaaaaaaaaaaaa'; 
$api_key = 'bbbbbbbbbbbbbbbbbbbbbb'; 
$media_id = '5466232b947399290102cdb6';
$preset_id = '54662c7c06361d307810e3b5';
$preset_name = 'OxygenStream';

$seclevel = CLOUDKEY_SECLEVEL_COUNTRY | CLOUDKEY_SECLEVEL_REFERER_STRICT ;
$countries = array('fr');
$referers = array('http://oxygenstream.fr/vod/dmcloud');

$cloudkey = new CloudKey($user_id, $api_key);
$url = $cloudkey->media->get_embed_url(array('id' => $media_id, 'seclevel' => $seclevel, 'expires' => time() + 3600, 'countries' => $countries, 'referers' => $referers));