Меры безопасности при загрузке произвольного изображения?
Я разрабатываю веб-инструмент (плагин TiddlyWiki Classic) с contenteditable
элементы, в которые я хотел бы вставить изображения путем копирования-вставки; затем они должны храниться локально через сервер (PHP).
Помимо прочего, серверная часть должна хранить изображения по URL, которые создаются путем вставки изображения с веб-страницы. Мой проект функции захвата изображения выглядит следующим образом:
function loadImageByUrlAndSave($url,$path,$name)
{
$url = filter_var($url,FILTER_SANITIZE_URL); //# not sure if this is really needed
$img = file_get_contents($url);
$type = "png";
//# check for request errors, ensure we got an image, get its type automatically
file_put_contents($path . $name . "." . $type,$img);
};
Это работает до сих пор; Тем не менее, я прочитал, что с помощью file_get_contents
не поощряется таким прямым образом. Я предполагаю, что когда это используется локально и только мной, единственная проблема безопасности здесь состоит в том, чтобы избегать изображений, которые содержат JavaScript (я слышал об этом очень мало). Какие меры безопасности вы бы предложили? Можно ли автоматически удалять JavaScript из изображений? Удаляется ли он в этом рабочем процессе на этапе копирования и вставки, чтобы мне вообще не пришлось беспокоиться? Я хотел бы избежать любого неожиданного поведения, так как это может повредить данные в моем TW.