Streaming images through an ASPX page is a good solution. Although Referrer can be hacked.
What you can do is use a unique salt (keyword) and generate against MD5 (SHA-1 or SHA-2) if you are really interested in security. Also start the current era and against this, it also expires in the images. Save this "key code" in cookies. Whenever images are served, you basically pass this through a request. Validation is performed in ASPX at the other end. You can even restore a new “key code” between each request using either the HTTPRequestModule or the Global.asax page.
There will be overhead, but this will not allow anyone from hotlinking.
source
share