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
Обсуждают сегодня