but here is my challenge, this seems to work for the most part, but all someone has to do is click on a pic copy the url from properties or from the url, and remove the thumb protion of the url and [voila] they have the full size... thats what im trying to prevent
So it sounds like all the path and name information you need is in the thumbnail, and from there anyone can figure out how to get to the full sized image? Have you thought about giving completely different names to the three sizes of image? You would assign some long random (say, 16 letters and digits) filename to each image when you load it in. Instead of MyFunnyCat-thumb.jpg, MyFunnyCat-mid.jpg, and MyFunnyCat-full.jpg, you would have dofe86cfdlwx78.jpg, jcopf7693kgf778.jpg, and iffd93jfds908ds00.jpg. No obvious pattern to the names. Sure, it would be more inconvenient for those who have to type in the name, but that's what links and cut-and-paste are for. Use 21 consonants (or 42 upper and lower case) plus 10 digits, so you won't accidentally form any nasty words.
and doing the htaccess means that any of my customers that [legitimately] want to put their slideshow or image on their website or a friends website or some member that wants to share a funny image with a friend wont be able to if i do the htaccess, or ill have to contantly keep up with adding to the htacess and i dont want that. , am i mssing the boat here somewhere, should i really be worried about this at all like i am.
Your members would be able to distribute the image names to anyone they want to. Once the names are out "in the wild", of course some will end up being stolen or hotlinked, but that's the risk people take when they give out links. One way to handle this might be to wait for reports of hotlinks, and then add those sites to an
.htaccess hotlink protection that uses a
blacklist instead of a
whitelist. Or, if you expect the rate of requests to be low, you could do the whitelist method and add sites (permitted to display) as requested. With the right coding, these could be white- or black-listed on a per-file basis.
It might be a bit beyond your present coding capabilities, but it doesn't
have to be done in
.htaccess. Give a bogus directory in the links to the images, and a PHP script will be invoked upon the 404 error. Strip off the bogus directory (to get the proper path and name) and check the HTTP_REFERER against a list of permitted and/or blacklisted domains kept for
each image. If forbidden, redirect the request to some kind of failure as described earlier. If allowed, let it proceed by redirecting to the real path and name. The beauty of this is that you could throw the burden of whitelisting and blacklisting on to the image owners -- they would have to type in permitted domains (or forbidden domains) and it would be stored in a database. Anyway, something to consider for the future.
Your link gave me a 404 error, so I can't see what you've done already. Presumably you can handle the memberships and paid memberships, and access control for that part?