重定向而不更改网址?

时间:2009-12-27 01:29:46

标签: .net http redirect

奇怪的问题但是这里......

我有一个网页,我想从其他网站获取图片。但是我想阻止用户知道哪个站点。它不需要是完美的'足够好'。有没有办法我可以写并让浏览器从另一个域获取图像?如果用户右键单击并点击查看图像我想说它是mysite.com/redirect/id.jpg而不是新网址。有没有办法做到这一点?

到目前为止,我唯一的想法是使用WebClient从服务器获取数据并将其发送出去。但那会破坏带宽。我不需要将它完全隐藏得足够好。

3 个答案:

答案 0 :(得分:9)

<div>而非img标记上使用CSS background-image样式。由于CSS背景不像img标签那样响应“右键单击...属性”,因此偶然查看器不会通过右键单击来识别图像位置(尽管通过“查看源”可以看到它) )。

如果您也希望阻止观看源曝光,您还可以将background-image指向您网站上的网址,然后重定向到您想要的图片,从而进一步模糊处理。如果你这样做,那么用户知道图像来源的唯一方法就是使用Fiddler,Firebug或其他可以实际挖掘DOM或HTTP流的工具。这不会像CSS-only方法那样好,但是它非常便宜,因为你不会在你的服务器上绑定等待远程服务器响应的线程。

顺便说一句,如果您还担心目标网站因您正在借用其内容而感到恼火,请注意客户端的HTTP Referer:标头会让目标网站成为您网站的网址。 “借用”图像。如果他们愿意阻止您引用网站的所有请求,他们很容易将您切断。您当然可以解决这个问题(例如,通过在您的服务器上从您自己的客户端请求页面),然后该站点可以只查找您的IP地址并阻止您。故事的道德:如果你想从其他网站“借用”内容,保持低调和低容量,因为如果你吸引他们的注意力,你将被禁止。

或者(这是理想的)联系网站,让他们知道你在做什么,并制定一个安排,这样如果你的网站变得流行,他们就不会阻止你!

答案 1 :(得分:3)

在您的src=mysite.com/redirect/id.jpg代码中使用img,并通过代理服务mysite.com/redirect网址,以获取其他任何网站的信息。^ H ^ H ^ H ^ Hmashing from。

答案 2 :(得分:0)

apache的ProxyPass就是这么做的。在IIS中,ARR可以实现同样的目的。或者您可以轻松地创建一个页面,像您说的那样下载图像并将其转储出来。但实际上,如果脚本只是进行重定向,则属性仍将显示最终地址。

你可以disable right-click on images,但当然不会阻止一个坚定的人。