Как к паролю защищают видео потоковой передачи с php

Сценарий, который вам нужен, выглядит следующим образом:

<script>
$(".down-checkbox").click(function(){
    $.each($(".badge.badge-success"), function(){
        $(this).closest("tr").hide();
    });
});
</script>

JQuery выбирает все классифицированные строки «.badge.badge-success», которые являются Live-серверами, а оставшийся список будет содержать только серверы ВНИЗ.

7
задан 13 November 2008 в 04:37
поделиться

4 ответа

И nginx и lighttpd веб-серверы имеют X-Send-File, который можно возвратить из PHP. Таким образом, можно сделать регистрации PHP и затем условно сервера файл.

if (check_user_can_access()){
    header('X-sendfile: /path/to/file');
} else {
    header('HTTP/1.1 403 Fail!');
}

Lighttpd также имеет аккуратный модуль, названный mod_secure_download, который позволяет Вам программно генерировать URL, который только будет допустим в течение короткого срока.

Nginx, и возможно lighttpd, позволяют Вам ограничивать скорость загрузки, таким образом, Вы не отсылаете данные потоковой передачи быстрее, чем это может быть использовано.

Так или иначе Вы хотите использовать свой веб-сервер для обслуживания файлов. Обслуживание их через PHP является возможным, но медленным.

4
ответ дан 7 December 2019 в 10:10
поделиться

Попытайтесь использовать сервис Amazon S3, это добралось, это - причуды, но это имеет смысл, после того как Вы знакомитесь с ним.

Существуют рычаги в их API для достижения временно URL, которые активны в течение требуемого времени, таким образом, можно свободно показать URL посетителю, потому что он не будет работать приблизительно 10 минут позже.

Это - почти тривиальная вещь сделать с php (приблизительно 15 строк кода), существует много примеров на их форумах, таким образом, Вы не должны идти с нуля и читать полную документацию относительно того, как достигнуть этого.

Какую авторизацию Вы сделаете, прежде генерируют и показывают ссылки Вам решать.

У Вас может также быть он, похожи, это подается от Вашего домена как video.yourdomain.com вместо стандарта s3 URL.

Последняя вещь, это дешево - мы заплатили приблизительно 2 доллара США в течение месяца тестирования и развертывания, когда я загрузил 8 ГБ и загрузил его 3 раза полностью и инициализировал загрузку в течение приблизительно 100 раз. Человек, для которого я делал это, так удовлетворен ценой, что хочет переместить все свои загружаемые медиа к s3.

Теперь, ре читая все, я записал, что оно похоже коммерческий / спам, но я таким образом удовлетворен сервисом, потому что я кодировал все для звуковых файлов ранее, и потребовались дни, пока все не работало просто великолепно, и это заняло несколько часов для реализации (главным образом знакомящийся с сервисом).

1
ответ дан 7 December 2019 в 10:10
поделиться

Вы могли бы хотеть смотреть на: mod_xsendfile (для апача)

Это позволяет Вам внутренне перенаправить в файл.

Таким образом, Вы могли указать на свою ссылку на загрузку на checkCredentials.php

<?php
if ( isAuthorised($_POST['user'], $_POST['pass']) ) {
    header("X-Sendfile: $somefile");
    header("Content-Type: application/octet-stream");
    header("Content-Disposition: attachment; file=\"$somefile\"");
    exit(0);
} else {
    show403('bad credentials');
}
?>

Этот модуль также доступен для других веб-серверов. Если я помню правильно, идея первоначально прибывает из lighttpd, но - поскольку Josh заявляет - также доступно для nginx.

1
ответ дан 7 December 2019 в 10:10
поделиться

Прежде всего очень легко имитировать ссылающийся домен. Эта информация хранится в браузере пользователя, таким образом, пользователь может просто telnet в Ваш сервер и обеспечивать его собственный ссылающийся домен, который соответствует Вашему домену.

Пара вещей Вы могли попробовать:

Во-первых, более безопасный, но все еще spoofable. mod_rewrite обеспечивает способность проверить cookie. То, что Вы могли сделать, установлено cookie, когда пользователь посещает Ваш веб-сайт, который содержит некоторые неясные данные. Затем Вы могли изменить свой RerwriteCond к чему-то вроде этого:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_COOKIE} obscurename=obscurevalue [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(asx¦ASX)$ http://www.yourdomain.com/images/leech.gif [R,L]

Другой, лучшая техника включила бы работу с PHP и типами пантомимы. Я не уверен, до какой степени это поддерживало бы контент потоковой передачи, но я предполагаю, что он будет работать. То, что можно сделать, имеют всю точку видеосвязи в .php файл (строка запроса определит, какое видео было выбрано). Затем когда пользователь пытается посетить эту ссылку, Вы делаете что-то как так:

<?php
    // You could also check some sort of session variable
    // that is set when the user visits another part of your
    // site
    if(!isLoggedIn()){
       header("Location: errorPage.htm");
       exit;
    }else{
       // Get the name of the file specified
       $file = get_file_name($_GET['fileID']);

       // Specify the proper mime-type for the data you're sending
       // (this may have to change, depending on your situation)
       header("Content-type: video/vnd.rn-realvideo");

       // Read the file and output it to the browser
       readfile($file);
    }
?>

Из того, что я читал, большинство серверов знает, какие типы пантомимы передают типы пантомимы потоком, таким образом, браузер должен смочь выяснить, как обработать файл потоковой передачи правильно.

0
ответ дан 7 December 2019 в 10:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: