Если вы действительно хотите, чтобы это было защищено, вы должны действительно контролировать эту сторону сервера. Не включайте ссылку на PDF-файл на странице, но вместо этого используйте форму с кнопкой отправки. Форма будет отправлена на сервер, сервер проверит опубликованные данные и, если все будет хорошо, redirect
переведет пользователя по URL-адресу pdf. Этот дизайн означает, что пользователь не может узнать URL-адрес PDF-файла, не отправив действительную форму.
Способ перенаправления на сервер будет зависеть от вашей веб-инфраструктуры. Например, если вы используете Ruby on Rails, вы бы использовали метод redirect_to
, чтобы сообщить клиенту URL-адрес для перехода. Например: redirect_to('https://www.google.com')
В общем, это будет использовать статус 302 с заголовком Location
URL, чтобы сообщить браузеру, куда идти дальше.
Если вы создадите тег <a>
, как в своем посте, любой может просто щелкнуть правой кнопкой мыши и открыть ссылку на новой вкладке, полностью минуя вашу форму JavaScript. Если вы запечете URL-адрес в атрибуте данных или в своем файле javascript, обычным людям будет сложнее разобраться, но любой, кто знает что-либо о веб-программировании, все равно легко обойдет его без заполнения формы.
В конце концов, вы можете сделать так много, чтобы люди были честными. В идеале ваш сервер будет каждый раз создавать какой-то недолговечный URL, чтобы людям было просто вставлять ссылки друг на друга. Но если люди хотят украсть, они просто поделятся pdf. С пиратством невозможно бороться, но вы можете сделать все возможное, чтобы помочь честным людям оставаться более честными, усложнив обмануть систему.