Fórum Root.cz

Hlavní témata => Server => Téma založeno: Zdenda 30. 12. 2017, 11:59:55

Název: Anonymní nahrávání souborů na webu
Přispěvatel: Zdenda 30. 12. 2017, 11:59:55
Chtěl bych mít na serveru možnost anonymního nahrávání souborů. Abych si mohl odkudkoliv bez přihlašování nahrát soubor k sobě třeba z cizího počítače. Nechci žádné složité řešení jako OwnCloud nebo tak. Řešili jste to?
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: JardaP . 30. 12. 2017, 12:02:34
Co je to "anonymni nahravani souboru"?
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Břetislava 30. 12. 2017, 12:03:05
Pak pošli adresu, to by se mohlo hodit ;D
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Zdenda 30. 12. 2017, 12:12:31
Myslím to tak, že bych mohl komukoliv říct adresu, tam by bylo tlačítko Procházet a Odeslat. On by mi tam mohl na server nahrát soubor. Samozřejmě by pak k němu neměl přístup, pak bych si ten soubor přes SCP mohl stáhnout jen já.

Anonymní by to bylo, protože by tam nebyly žádné uživatelské účty. Kdo by znal adresu, mohl by mi poslat soubory.
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Filip Jirsák 30. 12. 2017, 12:19:17
Pokud to chcete na vlastním serveru, zprovozněte si tam FTP nebo WebDAV. Pokud to chcete jako službu, umí to různá cloudová úložiště, např. Dropbox.
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: atarist 30. 12. 2017, 12:32:28
to zni hodne bezpecne :)

no o FTP jsi neuvazoval? Wokna snad maji (urcite mely) primou podporu, takze drag & drop v tom jejich Exploreru.
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Kit 30. 12. 2017, 12:38:42
Obyčejný webový formulář s chlívkem pro upload souboru. To je to, co se tu řeší?
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Franta <xkucf03/> 30. 12. 2017, 12:47:32
Myslím to tak, že bych mohl komukoliv říct adresu, tam by bylo tlačítko Procházet a Odeslat.

Tzn. jednoduchý HTML formulář + na serveru skript/servlet, který přijme HTTP POST a obsah uloží do souboru na disk. Jen si dej pozor na zabezpečení – aby nešlo nahrávat soubory mimo povolený adresář nebo přepisovat dříve nahrané soubory. Ta serverová část by měla běžet pod vlastním uživatelem, který nemůže nikam jinam zapisovat.
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: hihohu 30. 12. 2017, 14:28:21
https://transfer.sh (https://transfer.sh)
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Franta <xkucf03/> 30. 12. 2017, 14:57:54
https://transfer.sh (https://transfer.sh)

Na jednu stranu je super, že už to někdo napsal a stačí použít hotové řešení. Na druhou stranu, když si to budu chtít rozjet u sebe, tak si stáhnu zdrojáky a vidím tam:
Kód: [Vybrat]
$ cloc-sql.sh transfer.sh/
 ╭────────────────────┬─────────┬───────────┬───────────┬────────┬────────┬──────────────────────────────────────────────────────────────────────────────────╮
 │ jazyk              │ souborů │ prázdných │ komentářů │ kódu   │ celkem │ celkem_graf                                                                      │
 ├────────────────────┼─────────┼───────────┼───────────┼────────┼────────┼──────────────────────────────────────────────────────────────────────────────────┤
 │ Go                 │    1254 │     38474 │     33520 │ 328072 │ 400066 │ ████████████████████████████████████████████████████████████████████████████████ │
 │ Assembly           │      46 │       855 │       648 │   7729 │   9232 │ ██░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ HTML               │      56 │      1158 │        37 │   4154 │   5349 │ █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ XML                │       3 │       228 │        13 │   4793 │   5034 │ █░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ Bourne Shell       │      11 │       128 │       548 │    868 │   1544 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ Perl               │      10 │       178 │       180 │   1170 │   1528 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ CSS                │       6 │        31 │        20 │   1054 │   1105 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ Javascript         │       7 │        52 │       112 │    579 │    743 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ YAML               │      19 │        45 │         6 │    272 │    323 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ C                  │       3 │        51 │        22 │    189 │    262 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ make               │       5 │        17 │         2 │     46 │     65 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ Bourne Again Shell │       1 │         3 │         0 │     11 │     14 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ C/C++ Header       │       1 │         2 │         5 │      1 │      8 │ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ │
 │ celkem             │    1422 │     41222 │     35113 │ 348938 │ 425273 │                                                                                  │
 ╰────────────────────┴─────────┴───────────┴───────────┴────────┴────────┴──────────────────────────────────────────────────────────────────────────────────╯
Record count: 14

Přes 400 000 řádků kódu? To jako vážně, to si mám pustit u sebe? To mi přijde jako pořádné WTF? Na takovouhle aplikaci? Vždyť je to víc než třeba jádro bankovního systému nebo internetové bankovnictví.

Je fakt, že adresář server má jen cca 2 000 řádků, což už je celkem smysluplné číslo. Ale ono to závisí na tom zbytku a zjevně to nejde samostatně přeložit bez těch 400 000 řádků kódů a možná ještě nějakých dalších závislostí.

Archivovat si zdrojáky použitých knihoven je dozajista správné, ale rozhodně nepatří do stejného gitu jako kód aplikace a taky by měly být spravované přes nějaký systém, měly by se používat společné případně dodané uživatelem.
Název: Re:Anonymní nahrávání souborů na webu
Přispěvatel: Tomas2 30. 12. 2017, 15:23:40
tenhle repositář obsahuje i svoje závislosti, viz např. https://github.com/dutchcoders/transfer.sh/tree/master/vendor/golang.org/x , to je stejné jak když si stáhneš zdrojáky stdlib a tvrdíš, že přece u sebe stovky tisíc řádků nebudeš spouštět.

Samotný kód téhle knihovny je velice krátký, jen obsahuje řadu go závislostí, které se běžně stahují až při kompilaci, tady je máš rovnou. U jiných jazyků to je obdobné, jen prostě už dané knihovny máš předkompilované a slinkované, takže to nevidíš.