为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

森栏 2019-10-19 17:06:04
这是一个重要的安全问题,我相信这应该是可能的。一个简单的例子:您运行社区门户。用户已注册并上传他们的图片。只要允许显示图片,您的应用程序就会给出安全规则。例如,用户必须在系统的两侧成为朋友,以便您可以查看其他人上传的图片。问题来了:有人可能对您的服务器的映像目录进行爬网。但是您想保护用户免受此类攻击。如果可以将图像的二进制数据直接放入HTML标记中,则可以将用户对图像目录的访问权限限制为该用户,并可以将Web应用程序的运行分组,并将图像数据直接传递给Apache用户和组。 HTML。这样,唯一可能的弱点就是您的Web应用程序运行时所使用的用户密码。已经有可能吗?
查看完整描述

3 回答

?
慕妹3146593

TA贡献1820条经验 获得超9个赞

还有其他(更好)的方法(如其他答案所述)来保护文件安全,但是可以的是,可以将图像嵌入html中。


通过<img>以下方式使用标签:


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

其中xxxxx...部分是gif图像数据的base64编码。


查看完整回答
反对 回复 2019-10-19
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

如果我的图片目录需要安全性,则完全不会公开该目录。相反,我的img src属性将引用一个页面,该页面将一个用户ID和一个图像ID作为参数。


该页面将验证该用户确实有权查看该图片。如果一切正常,请将二进制文件发回。否则不发送任何东西。


例如:


<img src="imgaccess.php?userid=1111&imgid=223423" />

另外,我不会使用可猜测的ID。而是坚持使用base 64编码的guid之类的东西。


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 1315 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信