Question

Quel est le moyen le plus simple et le plus simple d’empêcher les personnes de créer des liens hypertextes vers des images de mon site Web hébergé ASP.NET? Je n'ai pas besoin d'empêcher la liaison dynamique entre toutes les images / ressources, je veux simplement empêcher la création de liens hypertextes vers des images / ressources spécifiques sur un site. FYI. Il est hébergé sur GoDaddy.com, donc les astuces IIS ne fonctionneront probablement pas.

Était-ce utile?

La solution

La diffusion d'images en continu via une page ASPX est une bonne solution. Bien que le référent puisse être piraté.

Vous pouvez utiliser un sel unique (mot-clé) et générer contre MD5 (SHA-1 ou SHA-2) si vous êtes vraiment préoccupé par la sécurité. Lancez également l’époque de l’époque en cours, cela met également une expiration sur les images. Stocker ce " keycode " dans les cookies. Chaque fois que des images sont servies, vous passez cela essentiellement via la chaîne de requête. La validation se fait sur l'ASPX de l'autre côté. Vous pouvez même régénérer un nouveau " keycode " entre chaque demande en utilisant un HTTPRequestModule ou la page Global.asax.

Il y aura des frais généraux, mais cela empêchera quiconque de créer des hyperliens.

Autres conseils

Le moyen le plus simple de procéder consiste à utiliser UrlRewrite dans IIS 7.0.

https://help.maximumasp.com/KB /a738/using-url-rewrite-tpreprevent-image-hotlinking.aspx

<configuration>
<system.webServer>
    <rewrite>
        <rules>
            <rule name="PreventImageHotlinking" enabled="true" stopProcessing="true">


<match url=".*\.(gif|jpg|png)<*>quot; />
  <conditions>
                        <add input="{HTTP_REFERER}" negate="true" pattern="^<*>quot; />
                        <add input="{HTTP_REFERER}" negate="true" pattern="http://www.YourDomain.com/.*" />
  </conditions>
  <action type="Rewrite" url="/images/hotlinking.jpg" />
</rule>
            </rules>
        </rewrite>
    </system.webServer>

Vous pouvez refuser toute demande d'images pour lesquelles votre site ne figure pas dans le champ d'en-tête du référent HTTP. C'est la théorie. Pour contrôler les demandes dans votre application, vous devez diffuser toutes les images dans une page ASP (au lieu de les lier directement).

Une chose que j’ai trouvée intelligente et astucieuse, c’est d’ajouter une partie supplémentaire au bas de l’image, puis d’utiliser une technique de sprite css pour la couper lorsque celle-ci est affichée sur votre site. Un hotlink naïf entraînera l'affichage de votre portion supplémentaire. Cela signifie que l'image est asymétrique, de sorte qu'elle ne ressemble pas à l'autre site et que vous pouvez utiliser la partie supplémentaire pour afficher votre propre URL ou tout autre élément de votre choix.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top