Introduction
Le hotlinking (ou « inline linking ») désigne le fait qu’un site tiers affiche directement une image ou un fichier hébergé sur votre espace en pointant vers votre URL. Le résultat : c’est votre bande passante qui sert le fichier, parfois sans autorisation. cPanel propose un outil « Hotlink Protection » pour bloquer ces usages courants ou rediriger les accès non autorisés vers une image de remplacement.
Prérequis
- Accès à votre compte cPanel.
- La fonctionnalité peut être désactivée par l’hébergeur via WHM (Feature Manager). Si vous ne voyez pas l’option, contactez le support depuis votre espace client.
- Si vous prévoyez d’éditer
.htaccess, sachez afficher les fichiers cachés dans le Gestionnaire de fichiers : Afficher les fichiers cachés. - Prévoyez une sauvegarde du fichier
.htaccessavant toute modification.
Avant de commencer (bonnes pratiques)
- Rassemblez la liste des domaines qui doivent rester autorisés (ex.
example.com,www.example.com, domaine d’un CDN). - Prévoyez les extensions à protéger (.jpg, .png, .webp, .gif, etc.).
- Si vous utilisez un CDN, notez son domaine : il doit être ajouté aux domaines autorisés sinon vos propres images servies via le CDN seront bloquées.
Étapes pas‑à‑pas (interface cPanel)
- Connectez‑vous à cPanel (voir Comment accéder à mon compte cPanel).
- Dans le tableau de bord cPanel, repérez la section « Sécurité » puis cliquez sur Hotlink Protection.
Exemple : ouvrez cPanel puis repérez la rubrique « Sécurité » pour trouver Hotlink Protection. - Sur la page Hotlink Protection, cliquez sur Enable (Activer) pour ouvrir le formulaire de configuration.
- Remplissez les champs principaux :
- URLs to allow access — ajoutez ici les domaines autorisés à intégrer vos fichiers. Ajoutez toujours les variantes
example.cometwww.example.comsi les deux existent, ainsi que le domaine de votre CDN si nécessaire. - Block direct access for the following extensions — listez les extensions à protéger (ex.
.jpg .jpeg .png .gif .webp). - Allow direct requests — cochez cette option si vous souhaitez autoriser les accès sans en‑tête Referer (ex. accès direct via URL ou certains proxys/clients qui suppriment le Referer).
- Redirect the request to the following URL — (optionnel) indiquez l’URL d’une image de remplacement à afficher pour les hotlinkeurs.
- URLs to allow access — ajoutez ici les domaines autorisés à intégrer vos fichiers. Ajoutez toujours les variantes
- Testez immédiatement (voir la section Vérifier & tester ci‑dessous) et, si nécessaire, ajoutez des domaines manquants puis soumettez de nouveau.
Remarque
Certaines versions ou personnalisations de cPanel peuvent afficher des libellés en anglais ; les champs restent équivalents. Si vous désactivez la protection, cPanel peut vider la liste d’URL autorisées : conservez‑une copie avant toute désactivation.
Options expliquées et conseils pratiques
- Ajoutez systématiquement les variantes
example.cometwww.example.com, ainsi que les sous‑domaines qui servent vos médias (ex.static.example.com). - Si vous utilisez un CDN, ajoutez son domaine (ou ses domaines) aux référeurs autorisés pour éviter que vos propres images servies via le CDN ne soient bloquées.
- La case Allow direct requests contrôle le comportement quand le header HTTP
Refererest vide. Certains navigateurs, extensions de confidentialité ou proxys suppriment ce header : cochez cette option si vous observez des blocages légitimes.
Alternative avancée : règles manuelles dans .htaccess
Si l’interface n’est pas disponible ou si vous préférez une règle personnalisée, vous pouvez ajouter des directives dans le fichier .htaccess (généralement à la racine public_html). Sauvegardez toujours le fichier actuel avant modification.
.htaccess.
.htaccess via le Gestionnaire de fichiers ou en téléchargeant une copie locale.Exemples courants (adaptez example\.com à votre domaine) :
# 1) Autoriser les accès directs (Referer vide) et bloquer les hotlinkeurs
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteRule \.(jpe?g|png|gif|webp)$ - [F,NC,L]
# 2) Bloquer aussi les accès directs (aucun Referer autorisé sauf example.com)
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteRule \.(jpe?g|png|gif|webp)$ - [F,NC,L]
# 3) Variante : rediriger vers une image de remplacement
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteRule \.(jpe?g|png|gif|webp)$ https://example.com/images/no-hotlink.jpg [R,NC,L]
Explications rapides :
RewriteCond %{HTTP_REFERER}lit l’en‑têteRefererenvoyé par le navigateur.- [F]renvoie une erreur HTTP 403 (Forbidden) ;[R]force une redirection HTTP.[NC]ignore la casse,[L]arrête l’exécution des règles.
Important : ces règles reposent sur l’en‑tête Referer, qui peut être absent ou falsifié. Elles réduisent le hotlinking courant mais ne constituent pas une protection cryptographique infaillible.
Vérifier & tester
Méthodes simples pour vérifier si la protection fonctionne :
- Utilisez curl pour simuler un accès depuis un autre site (ici on simule un referer externe) :
Un codecurl -I -e 'http://othersite.example' 'https://votresite.example/path/image.jpg'HTTP/1.1 403 Forbiddenindique que la protection a rejeté la requête. - Créez une page test sur un autre domaine contenant
<img src="https://votresite.example/path/image.jpg">: si la protection est active, l’image doit être bloquée ou remplacée. - Ouvrez l’onglet Réseau (Network) des outils développeur de votre navigateur pour inspecter la requête et le code HTTP retourné.
- Pensez à vider le cache du navigateur et, si utilisé, le cache du CDN après modification.
Problèmes courants & dépannage
- Mes propres images sont bloquées — vérifiez que vous avez ajouté toutes les variantes de domaine (avec/sans
www), vos sous‑domaines et l’URL du CDN. Si des proxys suppriment le Referer, cochez Allow direct requests ou adaptez la règle.htaccesspour accepter un Referer vide. - Je ne vois pas l’option Hotlink Protection — l’hébergeur peut avoir désactivé l’outil via WHM Feature Manager. Contactez le support (ouvrir un ticket).
- Conflit avec WordPress / plugins — certains outils (ex. WordPress Toolkit ou extensions de sécurité) peuvent modifier la configuration ou écrire des règles dans
.htaccess. Vérifiez les réglages de WordPress Toolkit si vous l’utilisez. - Erreur 500 après modification de .htaccess — restaurez la copie de sauvegarde du fichier, puis corrigez la syntaxe. Une simple faute de frappe dans
.htaccesspeut provoquer une erreur de serveur. - La protection empêche certains services (CDN, plateformes tierces) — ajoutez leur domaine aux référeurs autorisés ou configurez les règles côté CDN pour éviter les blocages.
Limitations
- La méthode repose sur l’en‑tête HTTP
Referer: il peut être supprimé (clients privés/proxy) ou falsifié. La protection réduit le hotlinking courant mais ne l’élimine pas totalement. - Pour des besoins très stricts (contrôle d’accès fort), combinez plusieurs mesures : règles serveur, CDN avec règles de hotlinking, ou solution d’authentification d’accès aux fichiers.
Liens internes utiles
- Comment accéder à mon compte cPanel?
- Afficher les fichiers cachés dans le Gestionnaire de fichiers (pour .htaccess)
- Forcer SSL / HTTPS via .htaccess (exemples d’édition)
- WordPress Toolkit pour cPanel (si vous utilisez cet outil)
- Contacter le support depuis l’espace client
Références
- cPanel Documentation — Hotlink Protection
- Apache — mod_rewrite et contrôle d’accès (références techniques)
Documentation de référence
- Hotlink Protection — cPanel & WHM Documentation
- Using mod_rewrite to control access — Apache HTTP Server
Documentation consultée le 17 octobre 2026. Les outils peuvent varier selon votre hébergement.