gpt4 book ai didi

php - 将 base64 编码的用户数据放入 img 的 src 中是否安全?

转载 作者:行者123 更新时间:2023-12-01 01:21:10 25 4
gpt4 key购买 nike

接受是否安全POST数据应该是 base64 编码的图像数据并将其用作 src img 的属性?
<img src="data:image/png;base64,[data here]" />
显然,没有过滤器很容易突破src属性和 img标记并插入恶意 <script />或其他标签,所以我的想法是

base64_decode($rawPostData)

检查它是否解码正常然后
base64_encode($decodedData)

把它放在 src属性。

这种方法是否存在任何漏洞(例如 XSS,可能是缓冲区溢出?)?

背景

我需要这个用于转换第三方的页面 svgcanvasbase64 - 使用 JavaScript 编码的数据(准确地说是使用“canvg”)。我需要将图像传递给服务器端脚本以使用图像执行其他一些任务,而且还要向用户/客户端显示图像。

最佳答案

我会接受图像作为图像,然后 base64_encode那。它节省了您检查它是否按预期提交的非常不必要的中间步骤,并且也使得不可能导致 XSS。

如果您必须像在图像中一样验证 base64,只需检查它只包含 base64 字符就足够了,因为您只是将它嵌入到 img 标签中(并且 base64 中不允许使用标签破坏字符。

使用内置函数:

if (base64_decode($mystring, true)) {
// is valid
} else {
// not valid
}

关于php - 将 base64 编码的用户数据放入 img 的 src 中是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9157621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com