隐藏图像标记的src字符串

时间:2013-04-09 08:21:12

标签: c# html asp.net-mvc

例如我有:

<img src="http://gateway.com/Providername/NameOfTheSupplier/RequestedImg.jpg" />

现在有些客户抱怨客户可以在网址中看到公司名称。因为它要改变我使用的网关的结构,我会寻找另一种方法来实现它。

有没有办法可以隐藏客户端的src?例如,使用base64,还是可以解密客户端的其他加密?

6 个答案:

答案 0 :(得分:3)

可以使用data URIs,但这需要您下载图片,转换为base64并嵌入页面(或CSS)。

这使有效载荷增加了大约34%。


另一种方法是使用CSS来设置页面样式,将图像URL嵌入CSS中。这往往不是动态的(虽然它可能是)但仍然,任何了解Web技术的人仍然可以查看CSS并查看URL。以这种方式使用图像当然也不是语义上的,并且可能以意想不到的方式破坏您的页面,这意味着您需要更多地努力制作应该“正常工作”的工作。

答案 1 :(得分:3)

简单回答:不。 答案很长:没有。 技术答案:浏览器显示的所有内容都需要以一种方式转换为人类可读的文本。您可以混淆服务器端。

*)人类可读还包括非常短的名称,如http://gateway.com/P/N/R.jpg

答案 2 :(得分:1)

您可以使用base64代码转换整个图片。 为此,可以使用大量可用的服务。

只是一个例子:

Convert any image into a base64 string

答案 3 :(得分:1)

<a href="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIEhUTUw%2BDQo8aHRtbCBs
YW5nPSJlbiI%2BDQogPGhlYWQ%2BDQogIDx0aXRsZT5QcmV0dHkgR2xvd2luZyBMaW5lczwvd   
Gl0bGU%2BDQogPC9oZWFkPg0KIDxib2R5Pg0KPGNhbnZhcyB3aWR0aD0iODAwIiBoZWlnaHQ
9IjQ1MCI%2BPC9jY..."</a>

答案 4 :(得分:0)

你可以尝试这段代码

$('img').filter(function(index){return $(this).attr('src')==='';}).hide();

答案 5 :(得分:0)

你可以使用Handler吗?通过这种方式,您可以隐藏URL,如果需要,您也可以使用base64发送图像,也可以使用此字节流来响应。

我认为这应该可行,你也可以通过改变一段代码来控制图像路径。

检查此链接: http://www.codeproject.com/Articles/34084/Generic-Image-Handler-Using-IHttpHandler

感谢。