¿Cuál es la mejor y más simple manera de evitar que las personas se vinculen a imágenes desde mi sitio web ASP.NET alojado? No es necesario que impida que todas las imágenes/recursos entren en caliente, solo deseo evitar enlaces directos a imágenes/recursos específicos en un sitio. FYI. Está alojado en GoDaddy.com, por lo que los trucos IIS probablemente no funcionarán.¿Cómo prevenir enlaces de imagen desde su sitio ASP.NET?
Respuesta
Transmitir las imágenes a través de una página ASPX es una buena solución. Aunque Referrer podría ser pirateado.
Lo que podría hacer es usar una sal única (palabra clave) y generar contra MD5 (SHA-1 o SHA-2) si realmente le preocupa la seguridad. También ejecute la hora de época actual también en contra de esto, esto también impone un vencimiento en las imágenes. Almacene este "código clave" en las cookies. Cada vez que se sirven imágenes, básicamente pasa esto a través de la cadena de consulta. La validación ocurre en ASPX en el otro extremo. Incluso podría regenerar un nuevo "código clave" entre cada solicitud usando una HTTPRequestModule o la página Global.asax.
Habrá gastos generales, pero evitará que alguien se caliente.
+1 + Respuesta. Hay mucho allí. Probablemente vaya por el hash que expira y el controlador de extensión personalizado (a través del mecanismo 404) –
Puede rechazar cualquier solicitud de imágenes que no tengan su sitio en el campo del encabezado HTTP referer. Esa es la teoría. Para controlar las solicitudes en su aplicación, debe transmitir todas las imágenes a través de una página ASP (en lugar de vincularlas directamente).
Una cosa que he visto que me pareció inteligente es agregar una parte extra a la parte inferior de la imagen, y luego usar una técnica de sprite css para cortarla cuando se muestra en su sitio. Un hotlink ingenuo resultará en mostrar su porción adicional. Esto significará que la imagen está sesgada, por lo que no se ve bien en el otro sitio, y puede usar la parte adicional para mostrar su propia URL o cualquier otra cosa que desee.
La forma más simple de hacer esto es con un UrlRewrite en IIS 7.0.
https://help.maximumasp.com/KB/a738/using-url-rewrite-to-prevent-image-hotlinking.aspx
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="PreventImageHotlinking" enabled="true" stopProcessing="true">
<match url=".*\.(gif|jpg|png)$" />
<conditions>
<add input="{HTTP_REFERER}" negate="true" pattern="^$" />
<add input="{HTTP_REFERER}" negate="true" pattern="http://www.YourDomain.com/.*" />
</conditions>
<action type="Rewrite" url="/images/hotlinking.jpg" />
</rule>
</rules>
</rewrite>
</system.webServer>
¡Me encanta! Lo uso para archivos images/js/css y todo lo demás, ¡no quiero que otros se vinculen! – RoLYroLLs
- 1. Enviando SMS desde un sitio web ASP.NET
- 2. ¿Hay un ASP.NET MVC HtmlHelper para enlaces de imagen?
- 3. En el sitio asp.net cómo prevenir múltiples inicios de sesión de la misma identificación de usuario?
- 4. Cómo hacer que un sitio ASP.NET MVC "derive" desde otro
- 5. Cómo evitar enlaces profundos a archivos en mi sitio web
- 6. ASP.NET MVC: ¿cómo prevenir un bloqueo de sesión?
- 7. Obtener tamaño de imagen de JPEG desde su archivo binario
- 8. Ataque de sitio web ASP.NET: ¿cómo responder?
- 9. ¿Cómo prevenir el ataque DoS en aplicaciones ASP.NET MVC?
- 10. Pegar una imagen desde el portapapeles a un sitio web
- 11. Validar un control de usuario ASP.NET desde su página principal
- 12. ¿Cómo obtener enlaces de sitio de Google en un sitio web?
- 13. Cómo acceder a su sitio web a través de LAN en ASP.NET
- 14. Cómo encontrar enlaces rotos en un sitio web
- 15. ¿Cómo renderizar enlaces HTML simples en Asp.Net MVC loop?
- 16. Cómo eliminar o comprimir su asp.net viewstate
- 17. ¿Cómo usar Bootstrap Tooltips con enlaces de imagen?
- 18. Determinar el esquema de colores de su sitio web
- 19. cómo conectar a dos personas en su sitio web
- 20. Prevenir automáticamente aplicaciones comenzando desde el iniciador
- 21. sitio web a la imagen
- 22. Probando el sitio web ASP.NET MVC
- 23. cómo crear un sitio web ASP.Net conectable?
- 24. ¿Cómo creo enlaces relacionados con la raíz en un sitio estático?
- 25. ¿Cómo implementar/publicar un sitio web ASP.NET?
- 26. enlaces de sitio sub en resultados de Google
- 27. ¿Cómo crear una versión móvil de un sitio web ASP.NET?
- 28. Prevenir iframe stealing
- 29. ¿Cómo compilar el sitio web de x64 asp.net?
- 30. enrutamiento enlaces legacy asp.net en un proyecto asp.net mvc
un vistazo aquí. http://mvolo.com/blogs/serverside/archive/2006/11/10/Stopping-hot_2D00_linking-with-IIS-and-ASP.NET.aspx –