Consider this url:
http://example.com/file.mp3?hash=ajhfsjdhfjksf546sdf
So, my question is that how can i handle this get request?
To determine whether this hash is allowed to download or not?
Consider this url:
http://example.com/file.mp3?hash=ajhfsjdhfjksf546sdf
So, my question is that how can i handle this get request?
To determine whether this hash is allowed to download or not?
In my comment on your questions I suggested:
You could use Apache's mod_rewrite
to create a rule that sees something like file.mp3?hash=ajhfsjdhfjksf546sdf
and redirects it to file.php?file=file.mp3&hash=ajhfsjdhfjksf546sdf
. Then file.php
will be able to handle the logic of checking access.
Here is the code for .htaccess to accomplish this:
RewriteCond %{QUERY_STRING} hash=(.*)$
RewriteRule ^(.*)\.mp3$ file.php?file=$1.mp3&hash=%1 [L]
This looks for a hash=
value in the query string, and matches any called to (something).mp3
. It snags the (something) and passes it as a value to the PHP script.
Now if I call file.mp3?hash=ajhfsjdhfjksf546sdf
, then file.php
will have the following set:
$_GET['file'] == 'file.mp3'
$_GET['hash'] == 'ajhfsjdhfjksf546sdf'
With these values, you can now run whatever check you'd like, and if it pases, deliver file.mp3
to the client.