Forum Moderators: open

Message Too Old, No Replies

"Start download" button

Any script for such a button?

         

geekay

6:43 am on May 9, 2005 (gmt 0)

10+ Year Member



I have a site with a lot of wav files. Visitors right-click on an ordinary link, select Save As, and the download starts. Occasionally rippers automatically download all the files. Normally that's not a very big problem.

But now I had a ripper that didn't only request several different files within the same second, it requested each file six times simultaneously. As soon as one of the six downleads finished, the other five in progress were aborted, resulting in one thousand 206's. Such ripping could use up a site's monthly bandwidth in an hour, like a DOS.

A simply solution could be to direct all clicks (right AND left) on wav links to a separate html page with a "Start download" button. Ordinary visitors can click the button, but most rippers probably wouldn't bother to write a circumventing code. The button script should remember the original URL of the link and hopefully require as little modification to the original html page as possible. Is there such a thing?

Blocking by IP after x downloads in y seconds could be another solution, it's an Apache server (virtual hosting), but how to automate that? It's useless to try blocking by UA as it is forged. Throttling isn't an option - the ripper will just use up the same bandwidth in 5 hours instead of 5 minutes.

kaled

9:16 am on May 9, 2005 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



This probably needs to be handled on the server.

I would solve this problem with a perl script that delivers the wav files. For each wav file, keep a list of the most recent 256 IP addresses and refuse the request if the same IP address attempts multiple downloads.

Kaled.

geekay

1:59 am on May 10, 2005 (gmt 0)

10+ Year Member



Looks like this is not a simple problem. Is it really no use trying to find a JavaScript solution?

It doesn't have to be something as sophisticated as kaled's, as long as it makes ripping a little bit more laborous. Any hints?

I don't suspect malicious intent. The server is not under my control.