Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下代码有多安全,以防每个人都可以使用它:
$file = $_FILES["file"]['tmp_name']; $contents = file_get_contents($file); $base64 = base64_encode($contents); <img src="data:image/png;base64,'.$base64.'">
如果这对黑客等不安全,我应该如何保护它?
一个 base64 编码字符串的字符集ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789+/和一个=符号作为最后一个字节过滤器。
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789+/
=
因此,无论文件内容是什么,您都在输入它的 base64 编码值,即使没有转义,浏览器也会在img标签中显示给定的字符串。
img
但是,您需要确保字符串实际编码为图像。
顺便说一句,通过在每个步骤中分配一个新变量,您正在为此任务浪费大量服务器内存。