A method for controlling access to a media file, the method comprising: at a first time, in response to a first request of a user, the first request being to access said media file, generating on a web server a first authorization ticket on the basis at least of first data given by the user and of a first private key associated with said media file, said first private key being available at said web server; at a second time, in response to a second request of said user, generating on a global cache server a second authorization ticket on the basis of at least said first data given by the user and a second private key associated with said media file, said second private key being available at said global cache server; determining on said global cache server whether the first and the second authorization tickets match, thereby determining whether the user is authorized to access the media file, so that if the first ticket and the second ticket do not match the user is not authorised to access the media file and if the first ticket and the second ticket do match the user is authorised to access the media file; at a third time, if the first and the second authorization tickets match, generating a first hash on a playlist server using a hash algorithm, said first hash being based at least upon second data, said second data comprising a cookie passed from the user to said playlist server, said cookie having been given to the user by the web server; receiving said first hash at said user; at a fourth time, in response to a request of said user, said request comprising said first hash and third data, generating on a media server a second hash using said hash algorithm, said second hash being based at least upon said third data given by the user; determining on said media server whether the first hash and the second hash match, and permitting the user access to the media file if the first and second hashes match, wherein a match of the first and second hashes indicates the user as having been authorized. at a first time, in response to a first request of a user, the first request being to access said media file, generating on a web server a first authorization ticket on the basis at least of first data given by the user and of a first private key associated with said media file, said first private key being available at said web server; at a second time, in response to a second request of said user, generating on a global cache server a second authorization ticket on the basis of at least said first data given by the user and a second private key associated with said media file, said second private key being available at said global cache server; determining on said global cache server whether the first and the second authorization tickets match, thereby determining whether the user is authorized to access the media file, so that if the first ticket and the second ticket do not match the user is not authorised to access the media file and if the first ticket and the second ticket do match the user is authorised to access the media file; at a third time, if the first and the second authorization tickets match, generating a first hash on a playlist server using a hash algorithm, said first hash being based at least upon second data, said second data comprising a cookie passed from the user to said playlist server, said cookie having been given to the user by the web server; receiving said first hash at said user; at a fourth time, in response to a request of said user, said request comprising said first hash and third data, generating on a media server a second hash using said hash algorithm, said second hash being based at least upon said third data given by the user; determining on said media server whether the first hash and the second hash match, and permitting the user access to the media file if the first and second hashes match, wherein a match of the first and second hashes indicates the user as having been authorized.