2

以下代码有多安全,以防每个人都可以使用它:

$file = $_FILES["file"]['tmp_name'];
$contents = file_get_contents($file);
$base64 = base64_encode($contents);
<img src="data:image/png;base64,'.$base64.'">

如果这对黑客等不安全,我应该如何保护它?

4

1 回答 1

0

一个 base64 编码字符串的字符集ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789+/和一个=符号作为最后一个字节过滤器。

因此,无论文件内容是什么,您都在输入它的 base64 编码值,即使没有转义,浏览器也会在img标签中显示给定的字符串。

但是,您需要确保字符串实际编码为图像。

顺便说一句,通过在每个步骤中分配一个新变量,您正在为此任务浪费大量服务器内存。

于 2013-04-11T22:27:46.767 回答