サーバが.htaccessが使えるサーバなら、.httaccessに以下の設定を入れるだけでファイルや画像をブラウザ経由でダウンロードすることが可能です。
以下、記述例です。
<Files ~ "\.(pdf|jpg|zip)$">
deny from all
</Files>
.htaccessはサーバ再起動は必要ないのがメリットなので、保存すればすぐに設定が有効になります。
これでpdfファイルやjpgファイルをWebアプリケーションにログインしていないユーザが直打ちでダウンロードしようとすると、403エラーが出るようになります。
ただし、Webアプリケーションもアンカータグでのダウンロードはできなくなるためプログラム経由でのダウンロード実装が必要となります。