Question regarding $invalid_referer

lists at lazygranch.com lists at lazygranch.com
Tue Mar 5 21:07:53 UTC 2024


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.


More information about the nginx mailing list