Сначала код, затем объяснение:
<?php
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".$_POST['filename']."\"");
$key = md5(rand());
echo $key;
$key = str_repeat($key,ceil(strlen($_POST['data'])/32));
echo $_POST['data'] ^ $key;
?>
Это позволяет мне POST
передавать данные через форму (динамически генерируемую) и загружать опубликованные данные в виде файла.
Я использую очень простое XOR-шифрование, которое помещает ключ (фиксированной длины, 32 байта) в начало файла.Намерение состоит не в том, чтобы защитить данные, а в том, чтобы их запутать.
Наличие такого файла означает, что потенциально любой человек может ПОЗДАТЬ любые данные, которые ему нужны, и они будут предложены для загрузки на компьютер пользователя,но я считаю, что для предотвращения злонамеренного использования достаточно того, что пользователю необходимо принять загрузку и данные, передаваемые через XOR с одноразовым ключом.
Есть ли причина, по которой мне не следует использоватьтакой файл?Есть ли лучшие альтернативы тому, что я делаю?* application/octet-stream
подходящий MIME-тип?