2017-10-17 4 views
0

Je construis une API simple en utilisant NodeJs, Angular et Nginx et je me demande quelle est la manière la plus efficace (et appropriée) de servir les images publiques aux utilisateurs indépendamment.Un moyen efficace pour protéger l'accès des images par l'utilisateur

Donc, à ce moment-là, je stockais des images directement dans ma base de données, de sorte qu'un certain utilisateur ne peut accéder qu'à ses propres images. Néanmoins, je voudrais simplement stocker le chemin de l'image et enregistrer le fichier dans un dossier public sur mon serveur.

Quelle est la meilleure façon d'administrer l'accès à ce dossier?

+0

Vous pouvez envoyer un jeton d'authentification avec la requête et le valider sur le serveur –

Répondre

1

Vous pouvez utiliser un proxy séparé pour les images de votre serveur comme celui-ci:

location ~ ^/images/(.*)$ { 
    try_files $uri $uri/ /image_handler?image=$1; 
} 

Ensuite, vous pouvez limiter l'accès si le fichier image ne nous appartient pas à l'utilisateur actuellement connecté.