I use nginx and I have no access to server conf.

May be with .htaccess analogue?..

link|improve this question

feedback

5 Answers

up vote 2 down vote accepted

Without access to the server configuration, you cannot change any settings. There is no equivalent to Apache httpd's .htaccess in nginx.

link|improve this answer
-1 Downvoting. This answer does not match the question title. – unixman83 Mar 29 at 5:48
feedback
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;
}
link|improve this answer
is that for the nginx config file? – blndcat Feb 26 '10 at 2:22
Yep, ask your server administrator. – user29686 Feb 27 '10 at 14:18
it should be 'not blocked' in the second line. – alfish Nov 18 '11 at 18:03
@alfish Are you sure? Wouldn't setting not blocked disable the script, allowing all referrers through? – unixman83 Mar 26 at 0:00
feedback

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;
 }
}
link|improve this answer
How is this really different from Gionn's answer from 1.5 years ago? – Chris S Nov 18 '11 at 18:13
How is none different from blocked? What is it's purpose of being added? i.e. How is a no referrer different from a blocked referrer? – unixman83 Mar 29 at 5:49
In the 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". – Dylan Apr 24 at 19:41
some browsers do not send a referrer header, so none is required to allow those. apparently Firefox releases have been in this group – Dylan Apr 24 at 19:49
feedback

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.

link|improve this answer
feedback

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.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.