VK Cloud logo

Secure token

Secure token — бұл CDN-ресурс файлдарын қалаусыз жүктеп алудан қорғауға мүмкіндік беретін, жеке кабинетте қосылатын опция. Secure token көмегімен контентке уақытша қолжетімділікті ұйымдастырып, деректеріңіздің қауіпсіздігін қамтамасыз етуге болады.

Егер Secure token опциясы қосулы болса, CDN арқылы таратылатын файлдарға қолжетімділік арнайы кодты (secure token) қамтитын қолтаңбаланған сілтемелер арқылы ғана жүзеге асырылады. Пайдаланушы сілтеме бойынша өткен кезде CDN алынған secure token-ді ресурс құпия кілтінен және сұрау параметрлерінен есептелген хэшпен салыстырады да, нәтижесіне қарай контентке қолжетімділікке рұқсат береді немесе тыйым салады.

Контенттің бір бөлігіне кәдімгі сілтемелер арқылы қолжетімділікті ұйымдастыру үшін, ол үшін бөлек ресурс жасаңыз және жеке бастауы болсын.

Қолтаңбаланған сілтеме келесі түрде болады:

http://cdn.example.com/files/image.jpg?md5=CUQ1rzAvtQCxwLS&expires=1301605293

Мұнда:

  • md5=CUQ1rzAvtQCxwLS — мына мәндерді қамтитын жолдың md5-хэші түріндегі secure token:

    • құпия кілт;
    • сілтеменің әрекет ету мерзімі;
    • бастаудағы файлға жол;
    • (қалауыңызша) рұқсат етілген IP мекенжайы.
  • expires=1301605293Unix-уақыт пішіміндегі сілтеменің әрекет ету мерзімі.

Қолтаңбаланған сілтемені осы мақсат үшін алдын ала арнайы скрипт қосылуы тиіс сайтыңыз жасайды.

Скрипт мысалдары

IP мекенжайы бойынша қолжетімділікті шектеусіз қолтаңбаланған сілтеме жасауға арналған скрипттер

<?php$secret = '<СЕКРЕТНЫЙ_КЛЮЧ>';$path = '<ПУТЬ_К_ФАЙЛУ>';$expires = time() + <СРОК_ДЕЙСТВИЯ_ССЫЛКИ>;$hostname = '<ДОМЕННОЕ_ИМЯ>';$link = "$expires$path $secret";$md5 = md5($link, true);$md5 = base64_encode($md5);$md5 = strtr($md5, '+/', '-_');$md5 = str_replace('=', '', $md5);$url = "{$hostname}{$path}?md5={$md5}&expires={$expires}";?>

Мұнда:

  • <СЕКРЕТНЫЙ_КЛЮЧ> — ұзындығы 6-дан 32 таңбаға дейінгі символдардың еркін жиыны.
  • <ПУТЬ_К_ФАЙЛУ> — сілтеме арқылы қолжетімділік қажет болатын файлға жол. Мысал: /files/photo.jpg.
  • <СРОК_ДЕЙСТВИЯ_ССЫЛКИ> — сілтеме жасалған сәттен бастап секундпен көрсетілген оның әрекет ету мерзімі.
  • <ДОМЕННОЕ_ИМЯ>HTTP немесе HTTPS протоколы көрсетілген CDN-ресурстың домендік атауы. Мысал: https://cdn.example.com.

$url жолы файлға арналған дайын қолтаңбаланған сілтемені қамтиды. Сілтемені экранға шығару үшін осы жолдан кейін келесі кодты қосыңыз:

echo $url;echo "";

IP мекенжайы бойынша қолжетімділікті шектеумен қолтаңбаланған сілтеме жасауға арналған скрипттер

<?php$secret = '<СЕКРЕТНЫЙ_КЛЮЧ>';$path = '<ПУТЬ_К_ФАЙЛУ>';$ip = '<IP-АДРЕС>';$expires = time() + <СРОК_ДЕЙСТВИЯ_ССЫЛКИ>;$hostname = '<ДОМЕННОЕ_ИМЯ>';$link = "$expires$path$ip $secret";$md5 = md5($link, true);$md5 = base64_encode($md5);$md5 = strtr($md5, '+/', '-_');$md5 = str_replace('=', '', $md5);$url = "{$hostname}{$path}?md5={$md5}&expires={$expires}";?>

Мұнда:

  • <СЕКРЕТНЫЙ_КЛЮЧ> — ұзындығы 6-дан 32 таңбаға дейінгі символдардың еркін жиыны.
  • <ПУТЬ_К_ФАЙЛУ> — сілтеме арқылы қолжетімділік қажет болатын файлға жол. Мысал: /files/photo.jpg.
  • <IP-АДРЕС> — файлға қолжетімділікке рұқсат етілетін IP мекенжайы. Мысал: 1.2.3.4.
  • <СРОК_ДЕЙСТВИЯ_ССЫЛКИ> — сілтеме жасалған сәттен бастап секундпен көрсетілген оның әрекет ету мерзімі.
  • <ДОМЕННОЕ_ИМЯ>HTTP немесе HTTPS протоколы көрсетілген CDN-ресурстың домендік атауы. Мысал: https://cdn.example.com.

$url жолы файлға арналған дайын қолтаңбаланған сілтемені қамтиды. Сілтемені экранға шығару үшін осы жолдан кейін келесі кодты қосыңыз:

echo $url;echo "";