set $extra_data "";
if ($args ~ "extra=([^&]+)") {
set $extra_data $1;
}
set_decode_base64url $decoded_extra_data $extra_data;
if ($decoded_extra_data ~ "(.*)\n(.*)$") {
set $filename $1;
set $hash_checksum $2;
set $data_to_hash $filename.$salt;
set $expected_hash_checksum "";
set_sha1 $expected_hash_checksum $data_to_hash;
}
set $valid "0";
if ($hash_checksum = $expected_hash_checksum) {
set $valid 1;
}
if ($valid != "1") {
add_header Content-Type "text/plain" always;
return 403 "invalid extra";
}
add_header Content-Disposition "attachment; filename=\"$filename.zip\"";
}
всем привет. подписываю файлы перед тем, как отдать пользователю на скачивание. ссылка имеет такой формат - exmaple.com/file?extra=HASH
hash генерируется так - base64encode($filename . "\n" . $hashsum);
hashsum это filename . salt
подскажите как от ифов избавиться, пожалуйста
1. прочитай правила, пожалуйста 2. для текстовых портянок есть pastebin.com
Обсуждают сегодня