Файловые хостинги - зачем уникальные ссылки?

Рогожин Константин
На сайте с 03.08.2007
Offline
105
901

Я по поводу файловых хостингов. Чем грозит отключение формирования уникальной ссылки на файл типа depositfiles.com/​files/7540032? Пусть, например, все файлы имеют вид прямой ссылки depositfiles.com/​files/test.rar. Вообще, хотелось бы обсудить проблематику с точки зрения нагрузки, безопасности, удобства, сео и мн. др. Каково ваше мнение?

Домены .RU: Партнерские программы, реклама, SEO, SMM (/ru/forum/989625) | Ветеринария, диета, общая медицина, стоматология (/ru/forum/981876) | Игровые домены (/ru/forum/981968) | Спортивные ставки, форекс рынок, денежные займы, бинарные опционы (/ru/forum/983438)
Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#1

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

Название файла для уникальности не подходит, test.rar - самое популярное имя для архивов :)

Самый лучший вариант - уникальный номер.

Про первичные ключи и нормализацию БД:

http://club.shelek.ru/viewart.php?id=177

Рогожин Константин
На сайте с 03.08.2007
Offline
105
#2
Алексей Барыкин:
В базе данных надо каждой записи присвоить первичный ключ - поле (столбец) или группу полей таблицы базы данных, значение которого (или комбинация значений которых) используется в качестве уникального идентификатора записи (строки) этой таблицы.
Название файла для уникальности не подходит, test.rar - самое популярное имя для архивов :)
Самый лучший вариант - уникальный номер.

Про первичные ключи и нормализацию БД:
http://club.shelek.ru/viewart.php?id=177

Я понимаю, спасибо за ответ. Знаю, что Вы являетесь создателем одним из таких сервисов. Но а если не требуется выводить на страницу данные о файле, и если уже имеется в каталоге test.rar, то добавлять test-1.rar, test-2.rar?

[Удален]
#3


<?php
/*skiped*/
if(file_exists($filename))
{
$i=0;while(file_exists($filename.'-'.$i))$i++;
}

А вообще, я обратил внимание на ссылки (жёстко-мягкие) - это же отличный способ делать контролируемое скачивание: создаёте ссылку на файл и через некоторе время её удаляете, а сами файлы отдаёте лёгким сервером (например nginx). Удалив ссылку 99% скачивание файла не прекратится, т.к. качается файл, а не ссылка. И тяжёлый бэкэнд не используется для отдачи статического файла - красота, да и только. Такое ощущение, что я изобрёл велосипед :)

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#4
Рогожин Константин:
Я понимаю, спасибо за ответ. Знаю, что Вы являетесь создателем одним из таких сервисов. Но а если не требуется выводить на страницу данные о файле, и если уже имеется в каталоге test.rar, то добавлять test-1.rar, test-2.rar?

А смысл?

В базу то его всё равно писать.

Рогожин Константин
На сайте с 03.08.2007
Offline
105
#5

nikitian, спасибо.

Алексей Барыкин, просто я не понимаю зачем создавать сессионные ссылки. Кстати, посмотрел как у Вас на сервисе - если дать ссылку на файл другу (даже без .rar), то сразу запускается скачивание как по прямой ссылке + обновление счетчика. Это классно!

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#6
Рогожин Константин:
nikitian, спасибо.
Алексей Барыкин, просто я не понимаю зачем создавать сессионные ссылки. Кстати, посмотрел как у Вас на сервисе - если дать ссылку на файл другу (даже без .rar), то сразу запускается скачивание как по прямой ссылке + обновление счетчика. Это классно!

Какие сессионные ссылки?

Число - это не сессия, а номер файла в базе.

А прямые ссылки сами по себе - зло. Файлокачалками заколебут.

Рогожин Константин
На сайте с 03.08.2007
Offline
105
#7
Алексей Барыкин:
Какие сессионные ссылки?
Число - это не сессия, а номер файла в базе.
А прямые ссылки сами по себе - зло. Файлокачалками заколебут.

Например, ссылка после 60 секунд ожидания представляется в таком виде.

r16.letitbit.net/download8/f1680dfc98_zxxcbb1rgsx0x6h6/834382/Outpost_Firewall_Pro_2009_Build_6.5.4.2525.381.0687________Rus.rar

Как-то интуитивно думал, что выделенная часть в ссылке номер сессии.

Файлокачалками заколебут? А серьезная нагрузка идет от них, если в сутки 1000 человек, например, приходит? Понимаю, что тут много зависит от производительности сервера и канала. Но все же, хотя бы ориентировочно.

Алексей Барыкин
На сайте с 04.02.2008
Offline
272
#8
Рогожин Константин:
Например, ссылка после 60 секунд ожидания представляется в таком виде.
r16.letitbit.net/download8/f1680dfc98_zxxcbb1rgsx0x6h6/834382/Outpost_Firewall_Pro_2009_Build_6.5.4.2525.381.0687________Rus.rar
Как-то интуитивно думал, что выделенная часть в ссылке номер сессии.

Файлокачалками заколебут? А серьезная нагрузка идет от них, если в сутки 1000 человек, например, приходит? Понимаю, что тут много зависит от производительности сервера и канала. Но все же, хотя бы ориентировочно.

Достаточно чтобы с ними бороться.

Всякие страшные урлы с прямыми ссылками - средство борьбы.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий