html - 是否可以将二进制图像数据放入 html 标记中,然后在任何浏览器中照常显示图像?

标签 html security image apache2 passenger

这是一个重要的安全问题,我相信这应该是可能的。

一个简单的例子:

您运行社区门户。用户注册并上传他们的照片。 只要允许显示图片,您的应用程序就会提供安全规则。比如用户必须被系统加为好友,才能看到别人上传的图片。

问题来了:有可能有人爬取了你服务器的图片目录。但您希望保护您的用户免受此类攻击。

如果可以将图像的二进制数据直接放入 HTML 标记中,则可以将图像目录的用户访问权限限制为用户,并将运行的 Web 应用程序分组并将图像数据传递给 Apache 用户,以及直接在 HTML 中分组。

那么唯一可能的弱点就是运行您的网络应用程序的用户的密码。

有没有可能?

最佳答案

在其他答案中描述了其他(更好的)方法来保护您的文件,但是可以将图像嵌入到您的 html 中。

使用 <img>这样标记:

<img src="data:image/gif;base64,xxxxxxxxxxxxx...">

哪里xxxxx...部分是gif图片数据的base64编码。

关于html - 是否可以将二进制图像数据放入 html 标记中,然后在任何浏览器中照常显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2429934/

相关文章:

java - 实现车牌检测算法

java - 这两种图片加载代码有什么区别?

ruby-on-rails - 如何在Rails应用中关闭CSRF保护?

C# - 当 webRequest 发送 XML 时,将 Base64 安全为 Gif?

php - 如何从一个输入 Html 表单插入数组字符串并从中获取另一数据

javascript - 如何在替换图像时使用 AJAX 刷新 DIV?

javascript - 在特定 block /div(包含可疑 HTML)中禁用 javascript?

javascript - 是否可以修改 DOM 以进行 SQL 注入(inject)攻击或其他恶意攻击?

javascript - struts2 textarea只给一个word添加样式

javascript - 从动态创建的行中检索 id