Contrôle d’accès par domaine avec Nginx (valid_referers)

Salut Internaute,

J'ai découvert à l'instant l'instruction valid_referers de Nginx qui permet de contrôler l'accès par referer sur une certaine location.

C'est une instruction qui peut s'avérer très pratique et qui permet de retourner un Accès interdit (403) pour quiconque tente d'afficher une image de ton serveur, depuis un autre domaine que celui défini (ici tous les sous domaines de domaine.com).

Voici un exemple de la configuration d'un vhost générique avec php-fpm:

server {
servername domaine.com;
access
log /var/log/nginx/domaine.com-access.log;
error_log /var/log/nginx/domaine.com-error.log;

location ~* (.jpg|.png|.gif|.jpeg)$ {
validreferers none blocked *.domaine.com;
if ($invalid
referer) {
return 403;
} root /var/www/domaine.com/htdocs;
}

location / {
root /var/www/domaine.com/htdocs;
index index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?p=$1 last;
break;
} }

location ~ .php$ {
include /etc/nginx/fastcgiparams;
fastcgi
pass 127.0.0.1:9000;
fastcgiindex index.php;
fastcgi
param SCRIPTFILENAME /var/www/domaine.com/htdocs$fastcgiscript_name;
} }

Toujours pratique d'avoir ça dans son sac!

Allez, salut!