I use nginx and I have no access to server conf.
May be with .htaccess analogue?..
Without access to the server configuration, you cannot change any settings. There is no equivalent to Apache httpd's .htaccess in nginx.
location ~* (\.jpg|\.png|\.gif|\.jpeg)$ {
valid_referers blocked www.domain.com domain.com;
if ($invalid_referer) {
return 403;
}
root /srv/www/domain.com/public_html;
}
not blocked
disable the script, allowing all referrers through?
Mar 26, 2012 at 0:00
Just in case you HAVE access to the webserver:
location ~* (\.jpg|\.png|\.gif|\.jpeg|\.png)$ {
valid_referers none blocked www.example.com example.com;
if ($invalid_referer) {
return 403;
}
}
none
different from blocked
? What is it's purpose of being added? i.e. How is a no referrer
different from a blocked
referrer?
Mar 29, 2012 at 5:49
valid_referers
directive, blocked
allows referrers that have been blocked by a firewall, none
allows requests with no referrer. From docs "none
means the absence of "Referer" header. blocked
means masked Referer header by firewall, for example, "Referer: XXXXXXX".
Apr 24, 2012 at 19:41
none
is required to allow those. apparently Firefox releases have been in this group
Apr 24, 2012 at 19:49
joschi is right: nginx is driven by a single configuration file you can't edit. Your only possibility is to use a redirector script which says '403 Access Denied' for hotlinks and '301 Moved Permanently' for normal links.
One solution is to generate all your pages & content dynamically, and with different URLs every time, which expire after a while. That makes hotlinking impossible.
If that is not practical, you can also check referrer. If you cannot reconfigure nginx, you'll probably have to do it in a scripting language which generates the pages dynamically.