I've been inspired by the answer to the question here: Location to store an encryption key

It gave me a lot to think about.

My friend and I are building a website and we've encountered a problem in which every user will have the ability to upload digital content (files) and sell it to other people.

The people who purchase the file will have access to it (downloading it). The problem is how do I make it safe from abuse? that a user who purchased a file wont be able to share it with other people (if they will have the link they still wont be able to download the file).

For example if UserX purchased a file and now have the following url:


by sharing it with UserY who didn't purchase the file will raise an error message.

We are developing in php.

  • 2
    This is DRM. All major companies have found, despite millions or billions of dollars spent, that you can't stop this, long term. The moment you give somebody a file, they're able to give it to somebody else (they don't even need to redownload it). You can delay it somewhat by using nonstandard file types and a custom reader, but it won't stop people, and will just annoy everybody else. In fact, historically, that's mostly what DRM has done - annoy the legitimate users. Ubisoft failed so bad people were running pirated versions because the copy they bought was giving them grief. – Clockwork-Muse Jul 6 '14 at 23:52
  • OR, you simply need an authentication mechanism to authorize users to have access to files on the website. – schroeder Jul 7 '14 at 4:02
  • Set the randomly hashed URLs to expire in a set amount of time... other than that, what @Clockwork-Muse said. DRM is nearly impossible. – Eric Lagergren Jul 7 '14 at 5:46
  • im not looking for solution of DRM, but a solution to prevent sharing digital content access (inside) the site not outside it, i dont care that someone will share a file manually after purchasing and downloading it. I dont want that someone will share the link and give access to other users / guests who has not purchase the digital content. – Lihai Jul 7 '14 at 15:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.