例如我有:
<img src="http://gateway.com/Providername/NameOfTheSupplier/RequestedImg.jpg" />
现在一些客户抱怨那里的客户可以在网址中看到公司名称。因为改变我使用的网关的结构需要做很多工作,所以我寻找另一种方法来做到这一点。
有没有办法可以为客户隐藏 src?例如使用 base64 或其他可以解密客户端的加密?
例如我有:
<img src="http://gateway.com/Providername/NameOfTheSupplier/RequestedImg.jpg" />
现在一些客户抱怨那里的客户可以在网址中看到公司名称。因为改变我使用的网关的结构需要做很多工作,所以我寻找另一种方法来做到这一点。
有没有办法可以为客户隐藏 src?例如使用 base64 或其他可以解密客户端的加密?
您可以使用数据 URI,但这需要您下载图像,转换为 base64 并嵌入页面(或 CSS)。
这将有效载荷增加了约 34%。
另一种方法是使用 CSS 来设置页面样式,将图像 URL 嵌入到 CSS 中。这往往不是动态的(尽管它可以是动态的),但任何对 Web 技术有所了解的人仍然可以查看 CSS 并查看 URL。以这种方式使用图像当然也不是语义化的,并且可能会以意想不到的方式破坏您的页面,这意味着您将需要付出更多的努力来使应该“正常工作”的东西发挥作用。
简单的回答:没有。长答案:没有。技术答案:浏览器显示的所有内容都需要以一种方式翻译成人类可读的*文本。不过,您可以混淆服务器端。
*) 人类可读还包括非常短的名称,例如http://gateway.com/P/N/R.jpg
.
<a href="data:text/html;charset=utf-8;base64,PCFET0NUWVBFIEhUTUw%2BDQo8aHRtbCBs
YW5nPSJlbiI%2BDQogPGhlYWQ%2BDQogIDx0aXRsZT5QcmV0dHkgR2xvd2luZyBMaW5lczwvd
Gl0bGU%2BDQogPC9oZWFkPg0KIDxib2R5Pg0KPGNhbnZhcyB3aWR0aD0iODAwIiBoZWlnaHQ
9IjQ1MCI%2BPC9jY..."</a>
你可以试试这段代码
$('img').filter(function(index){return $(this).attr('src')==='';}).hide();
您可以为此使用处理程序吗?这样你可以隐藏 URL,如果你愿意,你也可以使用 base64 发送图像,或者只写字节流作为响应。
我认为这应该可行,您还可以通过更改一段代码来控制图像路径。
检查此链接: http: //www.codeproject.com/Articles/34084/Generic-Image-Handler-Using-IHttpHandler
谢谢。