Скрыть pdf для незарегистрированных пользователей - PullRequest
0 голосов
/ 29 января 2011

Я зашел в тупик с этим кодом, над которым я работаю.У меня есть веб-сайт, на котором пользователи могут зарегистрироваться и иметь возможность просматривать определенные PDF-файлы, когда они вошли в систему. Мой вопрос, однако, как мне скрыть этот файл, чтобы гарантировать, что подписаться могут только те, кто в данный момент вошел в систему.Я отслеживаю своих пользователей с базой данных MySQL и использую PHP для всего кодирования на стороне сервера.В идеале решение не должно включать повторный вход пользователя или что-то в этом роде.Я не обязательно ищу код (хотя его всегда ценят: D), но любой удар в правильном направлении был бы великолепен.

Спасибо за любую помощь, которую вы, ребята, можете предложить.

Ответы [ 3 ]

4 голосов
/ 29 января 2011
if(isset($_COOKIE['login']))
{
    header('Content-Type', 'application/pdf');
    readfile('secret/books.pdf');
    exit();
}
else
{
    include('login.php');
}
2 голосов
/ 29 января 2011

Две мысли об этом: 1) храните PDF-файл вне общедоступной читаемой WWW-папки и включайте его в систему для аутентифицированного пользователя, как предложено ayush 2) защитить файл с помощью имени пользователя и пароля с помощью htaccess и получить к нему доступ с помощью curl . cURL может предоставить правильные учетные данные без повторной аутентификации пользователя.

2 голосов
/ 29 января 2011

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

Но имейте в виду, что, если человек ссылается на PDF, он может его скачать.и дать это кому-то еще.Так что, по моему мнению, вы должны просто сосредоточиться на том, чтобы обычный человек не смог угадать URL.

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

Тем не менее, если вы хотите немного его заблокировать, вы можете дать каждому пользователю свой уникальный URL для PDF.Таким образом, если кто-то скопирует URL, вы знаете, кто это сделал.Кроме того, срок действия URL-адресов может истечь через определенное время.

Этот URL-адрес может храниться в базе данных в виде поиска url-> pdf.Для доступа к нему не требуется аутентификация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...