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 でエンコードされた文字列の Char セットは、最後のバイト フィルターとしての記号ですABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwx yz0123456789+/=

したがって、ファイルの内容が何であれ、base64 でエンコードされた値を入れているため、エスケープしなくても、ブラウザはimgタグに指定された文字列を表示します。

ただし、文字列が実際に画像にエンコードされていることを確認する必要があります。

ところで、すべてのステップで新しい変数を割り当てることにより、このタスクのために多くのサーバー メモリを浪費しています。

于 2013-04-11T22:27:46.767 に答える