我在ASP.net MVC3中制作了网站并在其上托管了图片。但其他网站正在使用我的图片链接并窃取我的带宽。有没有办法使用http标头检查每个请求并发送有关网站名称的不同响应?
请为我推荐一篇文章或帮助我。
谢谢和问候
答案 0 :(得分:1)
您可以通过不在服务器上发布实际路径来阻止访问这些图片。 阅读here
这就是你的< img>标签看起来像:
<img src="data:image/png;base64,iVBORw0K....." id="pictureFrame"/>
这段代码将为C#
中的图像完成工作private void encryptPhoto(string imagePath)
{
pictureFrame.Src = @"data:image/gif;base64," + EncodePhoto(Server.MapPath(imagePath));
}
private string EncodePhoto(string fileName)
{
return Convert.ToBase64String(File.ReadAllBytes(fileName));
}
答案 1 :(得分:0)
我不知道,但您可以做的是将实际图像文件名列表存储在某个秘密文本文件中,并使用PHP或其他类似内容实际显示它们。然后你可以更改文件系统和文本文件中的图像名称,这样你的网站看起来会很好,但你可以让旧的图像文件指向新的图像,说“这个图像是从[MYDOMAIN]偷走”这应该遏制偷窃很快。
答案 2 :(得分:0)
您可以使用MVC路由忽略该图像。根据您的要求定义路线模式。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("foldername/{filename}.html");
}