On Thursday 10 Mar 2011 at 20:09 mos wrote:
> Let's say I have a Document_Id column and the url is
> to retrieve document_id=4, I don't want someone to write a program to
> retrieve all of my public documents and download them. I want them to go
> through the user interface.
Leaving aside the silliness of making a document public then trying to stop
people downloading it, there is at least one common solution available to you
- Apache's mod_rewrite.
Obviously this is dependant on you running Apache, but it is a simple and
common approach that will give you what you want.
You could also consider rate-limiting your application so that users who
request too many pages for your tastes (indicating a possible program) are
deliberately slowed down. Beware that this solution will likely have a
detrimental effect on search engine spiders, and therefore your site rankings.
However, neither of these solutions are appropriate for discussion on a MySQL
mailing list, and I agree with many of the other responses you have had - your
plan to do this by changing your database is pointless and misdirected.