Я добавляю раздел премиум-класса на мой сайт, который уже имеет бесплатную регистрацию. Люди, которые будут платить ежемесячную плату, получат доступ к контенту (html, изображения и медиафайлы), которые будут размещаться на субдомене, скажем..... content1.domain.com
Как я могу сделать так, чтобы файлы, доставляемые через этот поддомен, не могут быть скопированы или скопированы, если только пользователь не зашел на основной сайт и имеет платный аккаунт (переменная $premium = 1 для всего сайта определяет это).
Im, использующий php и mysql для сайта, и веб-сервер lighttpd.
Update:
Пример:
http://www.pitgroup.nl/demo/protect/?file_id=1&user_id=1&file=string
Файл = строка не работает, потому что это неверно со значением базы данных;
Затем страница показывает ссылку с правильным значением базы данных, которую вы можете щелкнуть, чтобы просмотреть скрытый файл. Ссылка, которую вы нажали, по-прежнему находится наверху, но она не будет работать снова. В нижней части страницы отображается значение базы данных обновления, которое является действительной ссылкой еще раз.
Чтобы предотвратить hotlinking, вы должны использовать htacces, я думаю.
Вам нужно сделать следующее:
(или что-то в этом роде)
mysql:
files:
id
url
created
user_files:
id
user_id
file_id
string
затем вставьте запись в user_files, используя информацию о файлах и для строки, сделайте что-то вроде:
md5( $file->url . $file->created . $user->id );
когда пользователь вызывает URL-адрес, например:
files/fileid/sldfjsdfasduapdj123
то вы перенаправляете его на script, который выполняет поиск в базе данных для этой строки, сравнивая идентификатор пользователя и идентификатор файла в записи.
после того, как файл был просмотрен, md5 снова введите строку и сохраните запись.
предоставить пользователю заголовки запрошенного файла, посмотреть http://php.net/manual/en/function.header.php
и сделанное:)
(я использую это для веб-сайта, который предоставляет FLV-контент для sms-платежей)