Autor | Zpráva | ||
---|---|---|---|
HomerJay Profil |
#1 · Zasláno: 28. 1. 2010, 20:02:45 · Upravil/a: HomerJay
Ahoj. Rád by som vám ukázal niečo, čo som tvoril vyše pol roka s neskutočnými prestávkami, ale aj tak to bolo celkom dosť času (asi 10 hodín práce bez prestávky, viem že priveľa, ale predsa). Na mňa, čo som ešte pred rokom hovoril že nikdy sa PHP učiť nebudem to nie je taká hrúza... Chcem podotknúť že všetky texty, všetok kód a grafika sme urobili my, my a zas len my (keby sa niekto pýtal).
Nechcem nič len názor na túto stránku, v podstate je info o tom napísané už tu, ostatné si môžete domyslieť. Ide o Open-Source projekt, ktorý chceme zverejniť na voľné stiahnutie (samozrejme už na nejakej doméne). Pre väčší rozhľad skúste nahrať nejaký súbor (má to muchy, no funguje), skúste si administráciu (tu, heslo je "test") a povedzte prosím názor, či to má nejaký zmysel, či sa to môže uchytiť, prípadne kritiku a nedostatky. Za všetko budeme vďační. // EDIT: Len chcem ešte pripomenúť že plánujeme podporu jazykov CZ/SK/EN, okrem toho je v administrácií možnosť prepínania vzhľadov, celkovo je to asi 7 farieb. ![]() |
||
HomerJay Profil |
#2 · Zasláno: 29. 1. 2010, 23:00:46
Inak dík za hodnotenia xD
|
||
imploder Profil |
#3 · Zasláno: 30. 1. 2010, 00:43:49
HomerJay:
1) odkaz na podmínky není nijak zvýrazněný, po kliknutí na něj se nic nestane - tj. žádné podmínky nejsou, není s čím souhlasit/nesouhlasit 2) po nahrání souboru dostanu URL, když ho ztratím, mám smůlu - už nikdy se k souboru nedostanu 3) není možnost soubor smazat Body 2) a 3) nejsou chyby, prostě je to jen primitivní služba. Funguje - co dodat :) Pokud to někdo bude používat, nejspíš vám server časem zahltí. Jako experiment dobré. |
||
HomerJay Profil |
#4 · Zasláno: 30. 1. 2010, 10:39:47
imploder:
1) To áno, ide predsa len o betu, nechystáme sa to využívať, ale nechať aby to využívali iní, preto si podmienky napíšu sami (to mi pripomína pridať túto možnosť do administrácie :) 2) To je pravda, ako by si to chcel riešiť? 3) Nie, nie je a takúto možnosť ani nechystáme. Server zahltí... Vďaka za názor, len neviem či si pochopil o čo vôbec ide. Chceme to na samostatnej doméne prezentovať ako open-source PHP script, vďaka ktorému sa môžu iní naučiť PHP (alebo HTML/CSS), alebo ho môžu využívať, no na vlastných serveroch/hostingoch. My sa to využívať nechystáme a ani nikdy nebudeme :) Ale vďaka. |
||
shaggy Profil |
#5 · Zasláno: 30. 1. 2010, 11:53:55
HomerJay:
„Chceme to na samostatnej doméne prezentovať ako open-source PHP script, vďaka ktorému sa môžu iní naučiť PHP (alebo HTML/CSS), alebo ho môžu využívať, no na vlastných serveroch/hostingoch.“ Učiť sa skripte niekoho, kto sa tiež učí? Neviem, či je to prínosné. Prečo by mali využiť tento "nedorobený" uploader, keď na webe je dosť odskúšaných a použiteľných riešení? A ak to chceš dať na stiahnutie, bolo by skôr lepšie poskytnúť kompletný balíček, aby sme si vedeli pozrieť, čo to obsahuje. Myslím, že zabezpečenie toho systému je dôležitejšie, ako to vyzerá. A ak to máš zabezpečené ako testovaciu administráciu, tak potom zbohom. Ukrytie buttonu v administrácii nezabráni odoslaniu formulára. Len tak zo zaujímavosti som skúsil zmeniť adresu webu na "http://www.emzak.eu/xuptest" a ono to funguje. Dokonca mi tú adresu vyhodilo pri uploadovaní súboru, konkrétne: http://www.emzak.eu/xuptest/files/IoxhNUI85FoQ5euICMTi/header.jpg aj keď nechápem, prečo si v administrácii mám nastaviť nejakú adresu, keď s ňou vôbec nepracuješ, súbor mi totižto uložilo sem: http://www.emzak.eu/uptest/files/IoxhNUI85FoQ5euICMTi/header.jpg |
||
HomerJay Profil |
#6 · Zasláno: 30. 1. 2010, 12:33:56
Nepracujem? Neukladá to podľa URL, ukladá to rovno do zložky, teda $cesta = "files/...", nie $cesta = "http://...".
Nie je to prínosné? Nemyslím si, ak sa to bude neustále vylepšovať a upravovať, nejakú šancu by to mať aj mohlo. Dosť odskúšaných a použiteľných? Okrem Mini File Hostu, ktorý poznáš? Ktorý by bol pre užívateľa jednoduchý na používanie, ľahko nastaviteľný, atď... Ja som takých veľa nevidel, no keď to hovoríš, asi to veľký zmysle nemá :) S tou zmenou URL - nevidím v tom nejaký problém, len sa to testuje, bez hesla sa do administrácie nedostaneš (či áno?), takže keď by to niekto využíval, takéto niečo sa nestane. |
||
JAAkub Profil |
#7 · Zasláno: 31. 1. 2010, 08:49:38
HomerJay: Prosim, chcem sa ta opytat, ako robis ze ti to ukaze kolko je tam suborov. Diki ak mi poradis :D
|
||
JAAkub Profil |
#8 · Zasláno: 31. 1. 2010, 08:54:07 · Upravil/a: JAAkub
Inak celkom pekna stranka ... mozno to niekam dosiahne :D
|
||
HomerJay Profil |
#9 · Zasláno: 31. 1. 2010, 15:04:33
JAAkub: Vždy keď niekto nahrá súbor, systém to zapíše do samostatného súboru (všetko sa zapisuje do .txt súborov, preto netreba MySQL). Tiež sa do ďalšieho súboru zapíše a priráta veľkosť (v bitoch), no a potom sa to na indexe prečíta. Keby ti vypisujem všetky kódy, je to strašne na dlho, mám ti to celé upnúť a ty si to už nájdeš, či len sa tak pýtaš?
|
||
Kcko Profil |
#10 · Zasláno: 31. 1. 2010, 16:40:35
Vzdyt to nema ani ajaxove nahravani, k cemu to je?
|
||
imploder Profil |
#11 · Zasláno: 31. 1. 2010, 16:58:30 · Upravil/a: imploder
Nějak to nufunguje - odkazy na soubory hází 404.
Aby se odkazy neztrácely by se dalo řešit třeba takto: - při prvním uploadu se mi vygeneruje identifikátor (uniqid) a uloží se jako cookies (jako že já, na tomhle počítači, v tomhle prohlížeči) - na hlavní stránce pak budu vidět odkazy na soubory soubory, co jsem nahrál Dalo by se to řešit jednoduše přes soubory, mít speciální adresář, kde se vytvoří soubor s názvem odpovídajícím vygenerovanému ID a bude obsahovat na řádcích cesty ke všem souborům nahraným s daným ID (tj. z prohlížeče, kde je uloženo jako cookies). Při uploadu se tam přidá řádek. Svoje soubory bych měl mít možnost smazat. Kdo si to nasadí na server, asi bude funkci mazání chtít, nikdo nemá neomezeně místa. Dál by mohlo být nějaké jednoduché přihlášení (klasicky jméno+heslo, případně ještě OpenID), abych měl ke svým souborům přístup i na jiných počítačích nebo po tom, co si v prohlížeči smažu cookies. |
||
HomerJay Profil |
#12 · Zasláno: 31. 1. 2010, 17:30:24
imploder - jn, niekto sa hral, skús http://emzak.eu/up
Inak vďaka za nápady. Kcko - Jn, vidno že si veľký macher&frajer, nemusíš sem písať ale také hovädiny, vôbec ma to nezaujíma, zbohom. |
||
JAAkub Profil |
#13 · Zasláno: 31. 1. 2010, 17:52:02 · Upravil/a: JAAkub
HomerJay:
Ak by si mi to mohol upnut :D Kcko : ako napisal HomerJay |
||
HomerJay Profil |
#14 · Zasláno: 31. 1. 2010, 18:06:02
Jasné, však to je zámer toho scriptu :D
Upozorňujem ale že je to len ďalšia testovacia verzia, preto to obsahuje nedokončené súbory (napr. jazyky, je tam francúzština, nedorobená čeština a nezačatá angličtina), atď. ber ohľad :) Ukladanie nájdeš napríklad v upload.php, otváranie a čítanie hodnôt zo súboru nájdeš v config.php. Potom zobrazenie nájdeš v after.php. Toť vsio hádam :) Download TU. |
||
fuckin Profil |
#15 · Zasláno: 31. 1. 2010, 18:07:05
HomerJay:
Ahoj, mám pár otázek. Proč jsou zde typy souborů omezeny? Doufám, že název je ukládán jako hash, nebo ne? Progress bar, nic? Resume support u stahování? Podpora download manageru? Zjištění trafficu(třeba denně)? Jakým způsobem ukládáš soubory? |
||
HomerJay Profil |
#16 · Zasláno: 31. 1. 2010, 18:09:15
fuckin:
A prečo by nemali byť? Upneš si tam .html či .php a koniec uploadu. Prečo by sa mal ukladať ako hash pri takej jednoduchej aplikácií? Nie. A načo? A NAČO? A načo? PHP, move_uploaded_file, najjednoduchšie ako to ide. |
||
fuckin Profil |
#17 · Zasláno: 31. 1. 2010, 18:14:10
ok díky, to mě stačí.
|
||
HomerJay Profil |
#18 · Zasláno: 31. 1. 2010, 18:15:00
Nie ale fakt, vezmi si to, načo všetky takéto veci pre systém ktorý slúži na vzdelávanie sa a nie užívanie..?
|
||
fuckin Profil |
#19 · Zasláno: 31. 1. 2010, 18:22:31
Když vzdělávat tak bez chyb v návrhu. Dělat upload systém bez ukládáni názvu jako hash je velká chyba v návrhu aplikace.
Ty další vlastnosti se dají přežít. Chápu, že začátečník nevyužije třeba progress bar, ale co když bude chtět umět něco víc? Proč mu nedat na výběr co se chce naučit? Třeba později bude moct z tvých zdrojáků čerpat. Je to TVOJE věc, dělej si to jak chceš, nicméně aspoň se nad tím zamysli, to mě bude stačit. |
||
HomerJay Profil |
#20 · Zasláno: 31. 1. 2010, 18:27:17
Zamýšľam sa. Zamysli sa aj ty, ono sa to predsa môže neustále upravovať, budú vychádzať nové verzie, všetko sa môže zmeniť...
Názvy cez hash... Smiešne že ani neviem ako sa to robí, no ani to vedieť nepotrebujem. Nie je to náhodou že sa zmení súbor z "Moj skvely subor.txt" na "qDjndDm.txt" či ako? Proste zmena celého súboru. Pretože ak si to niekto potom stiahne, nebude mať pôvodný názov. Ale možno sa mýlim, pouč ma, fakt neviem ako to myslíš :D |
||
fuckin Profil |
#21 · Zasláno: 31. 1. 2010, 18:36:07
Ok. Uploadnu soubor s názvem třeba slepice.doc.
Vytvořím unikátní md5 hash z názvu souboru a z aktualního času abych zajistil unikátnost. $hash = md5($nazev_souboru.time()); Takže to třeba bude vypadat jako ef5c7bc4e720c493a0bf1d3fcec8182b. Toto bude název souboru, bez jakékoli přípony (tímto zajistím bezpečnost skriptu, ikdyž to bude php skript či cokoli jiného). V pokročilejších systémech to potom podle hashe dám do daných složek. Ale to tě nemusí zajímat. Hash a původní název souboru uložím třeba do db nebo do nějakého souboru. Nevím jak to máš vyřešené. Poté při downloadu otevřu hash, a v headers odešlu původní jméno souboru a vše se provede správně. |
||
HomerJay Profil |
#22 · Zasláno: 31. 1. 2010, 18:41:36
Zaujímavé, budem o tom premýšľať :D Vďaka :)
Mimochodom, tým si mi pripomenul generátor hesiel, že by som mohol tam zakomponovať... |
||
imploder Profil |
#23 · Zasláno: 31. 1. 2010, 18:48:34
fuckin:
Proč by měl tohle všechno dělat? Unikátnost je zajištěná použitím inikátního řetězce pro název adresáře, v tom adresáři je vždycky jenom jeden soubor (pro další se vytvoří další adresář s unikátním názvem). V nadřazeném adresáři je evidentně zakázaný výpis souborů, takže není možné zjistit, kde jsou uložené ostatní soubory. Mně to připadá bezpečnostně v pořádku (můžu se mýlit), to co popisuješ (použít kód pro samotný název souboru, na předevední zpět do toho pak tahat databázi a PHP skript na nastavení HTTP hlaviček) mi přijde naprosto zbytečné - v čem to bude lepší? |
||
fuckin Profil |
#24 · Zasláno: 31. 1. 2010, 19:02:57 · Upravil/a: fuckin
imploder:
„Unikátnost je zajištěná použitím inikátního řetězce pro název adresáře“ Nestudoval jsem jeho návrh, řídil jsem se podle jeho odpovědí na otázky. A co když třeba se nějakým způsobem dostane k linku na soubor? Nevím nebudu tu spekulovat. Nevíš co se může stát. Divil by ses co jsou schopni lidé dělat aby obešli všechny kontroli nebo aby získali nějaké citlivé data. Já vím jak to dělají v praxi největší hostingové firmy, tak to dělám i já. Můj popisovaný způsob je zhruba poloviční návrh oproti reálu. |
||
blizzboz Profil |
#25 · Zasláno: 31. 1. 2010, 19:45:06
ahoj je to zaujímavé:
ale ten PHP kód vyzerá otrasne hovorí ti niečo OOP? znovupoužiteĺnosť kódu? životný cyklus softwaru predsa nekončí jeho prvým releasom. a čo oddelenie aplikačnej logiky od od prezentačnej? mal si pôužiť minimálne nejaký šablónovací systém alebo si vytvoriť vlastný. a dáta patria do databázy nie do txt súborov. keby i použil nejaký poriadny framework mohol si mať ten uploadovací systém omnoho rýchlejšie hotový a stálo by ťa to menej námahy. |
||
HomerJay Profil |
#26 · Zasláno: 31. 1. 2010, 19:51:44
blizzboz: zaujímavé. DB som zámerne nepoužil, nie každý server (napr. freehostingy) podporuje MySQL, PotgreSQL, XXXSQL, inak nič mi nehovorí OOP, znovupoužitelnosť kódu ani oddelenie aplikačnej logiky od prezentačnej. Vysvetlíš mi tie pojmy? Ďakujem.
|
||
blizzboz Profil |
#27 · Zasláno: 31. 1. 2010, 20:18:37
to sa nedá vysvetliť v jednej vete o OOP(objektovo orientované programovanie) v PHP je na internete veľa článkov napr tento:
http://www.webfaq.cz/clanek/Objektove-orientovane-mysleni alebo si zožeň knihu: Objektovo-orientovaná tvorba systémov a jazyk C++ ale na tvojom mieste by som sa programovať učil v nejakom inom jazyku ako v PHP. najlepšie C# alebo Java. PHP vedie programátorov k praseniu kódu. znovupoužiteľnosť kódu súvisí práve s OOP a dedením neviem ako by som ti to vysvetlil keď ani nevieš čo je OOP. k oddeleniu aplikačnej logiky od prezentačnej vrstvy zjednodušene povedané ide o to aby sa programový kód nemiešal s HTML elementami. |
||
HomerJay Profil |
#28 · Zasláno: 31. 1. 2010, 20:21:40
Pred dvoma rokmi som takmer dokonale ovládal PAWN, to nemá ďaleko od ničoho, bez toho by som si v PHP ani neškrtol.
|
||
blizzboz Profil |
#29 · Zasláno: 31. 1. 2010, 20:24:12
HomerJay:
čo je pawn? |
||
shaggy Profil |
#30 · Zasláno: 31. 1. 2010, 20:24:55
blizzboz:
„hovorí ti niečo OOP?“ Vidíš to moc čierno-bielo. Objektovo orientovaný prístup je fajn, ale nie je to jediná cesta, nevidím dôvod, prečo by to mal meniť. „mal si pôužiť minimálne nejaký šablónovací systém alebo si vytvoriť vlastný.“ Na takýto primitívny projekt (rozumej jednoduchý v jeho podstate) je šablónovací systém zbytočný. „a dáta patria do databázy nie do txt súborov“ Uf, tak to teda idem zmazať všetky txt súbory čo mám v počítači a prehodím si ich do Accessu. A mylanovi poviem, nech zmaže celý jeho systém. |
||
Téma pokračuje na další straně.
|
0