how to protect wp-content from download

Hello,

I have some protections with htaccess but I have a problem. I m still able to download a file if I know the name.

How I could disable download if not a link from my website (disable link from address bar or link from other website)

I know plugin can do that but I would prefer using htaccess system

Otherwise, is there a way to give a random and complicated name to all files uploaded?

Thank you