I am presently using a scheme like this to prevent scraping documents. 
************************************
   location /images/ {
          valid_referers none blocked  www.example.com example.com 
forums.othersite.com ;
# you can tell the browser that it can only download content from the domains 
you explicitly allow
#           if ($invalid_referer) {
#             return 403;
            if ($invalid_referer) {
              return 302 $scheme://www.example.com;
***************************************
I commented out some old code which just sends an error message. I
pulled that from the nginx website. I later added the code which sends
the user to the top level of the website. 

It works but the results really aren't user friendly. What I rather do
is if I find an invalid_referer to some document, I would like to
redirect the request to the html page that has my link to the document. 

I am relatively sure I will need to hand code the redirection for every
file, but plan on only doing this for pdfs. Probably 20 files.

Here is a google referral I pulled from the log file

*********************************************
302 172.0.0.0 - - [05/Mar/2024:20:18:52 +0000] "GET /images/ttr/0701crash.pdf 
HTTP/2.0" 145 "https://www.google.com/"; "Mozilla/5.0 (Linux; Android 10; K) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36" 
"-"
**********************************************
So I would need to map /images/ttr/0701crash.pdf to the referring page
on the website.
_______________________________________________
nginx mailing list
nginx@nginx.org
https://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to