Сценарий, который вам нужен, выглядит следующим образом:
<script>
$(".down-checkbox").click(function(){
$.each($(".badge.badge-success"), function(){
$(this).closest("tr").hide();
});
});
</script>
JQuery выбирает все классифицированные строки «.badge.badge-success», которые являются Live-серверами, а оставшийся список будет содержать только серверы ВНИЗ.
И 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 является возможным, но медленным.
Попытайтесь использовать сервис Amazon S3, это добралось, это - причуды, но это имеет смысл, после того как Вы знакомитесь с ним.
Существуют рычаги в их API для достижения временно URL, которые активны в течение требуемого времени, таким образом, можно свободно показать URL посетителю, потому что он не будет работать приблизительно 10 минут позже.
Это - почти тривиальная вещь сделать с php (приблизительно 15 строк кода), существует много примеров на их форумах, таким образом, Вы не должны идти с нуля и читать полную документацию относительно того, как достигнуть этого.
Какую авторизацию Вы сделаете, прежде генерируют и показывают ссылки Вам решать.
У Вас может также быть он, похожи, это подается от Вашего домена как video.yourdomain.com вместо стандарта s3 URL.
Последняя вещь, это дешево - мы заплатили приблизительно 2 доллара США в течение месяца тестирования и развертывания, когда я загрузил 8 ГБ и загрузил его 3 раза полностью и инициализировал загрузку в течение приблизительно 100 раз. Человек, для которого я делал это, так удовлетворен ценой, что хочет переместить все свои загружаемые медиа к s3.
Теперь, ре читая все, я записал, что оно похоже коммерческий / спам, но я таким образом удовлетворен сервисом, потому что я кодировал все для звуковых файлов ранее, и потребовались дни, пока все не работало просто великолепно, и это заняло несколько часов для реализации (главным образом знакомящийся с сервисом).
Вы могли бы хотеть смотреть на: 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.
Прежде всего очень легко имитировать ссылающийся домен. Эта информация хранится в браузере пользователя, таким образом, пользователь может просто 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);
}
?>
Из того, что я читал, большинство серверов знает, какие типы пантомимы передают типы пантомимы потоком, таким образом, браузер должен смочь выяснить, как обработать файл потоковой передачи правильно.