reklama
Aktuality  |  Články  |  Recenze
Doporučení  |  Diskuze
Grafické karty a hry  |  Procesory
Storage a RAM
Monitory  |  Ostatní
Akumulátory, EV
Robotika, AI
Průzkum vesmíru
Digimanie  |  TV Freak  |  Svět mobilně

Upload souboru

petr.svec (320)|30.1.2009 16:19
potřebuji obejít bezpečnostní politiku či nastavit vyjímku, abych mohl přímo (Javascriptem či něčím podobným) bez uživatelova zásahu uploadovat na server (přes
podmínka funkčnost ve FireFox (IE mě nazajímá)

protože to poběží na lokální síti, můžu nastavit či změnit nastavení FF, jen nevím kde

(problém musí fungovat tak jak říkám, jiný program uloží na disk c: export a intranetové stránky musí být schopny tento export impotovat na server)

nejde mi o bezpečnost, že by uživatel v daném souboru něco změnil, nebo tam dal jiný... protože to to dokážu po uploadu přijít

PS: nejde mi o hack, ale provázání programů
Logout (4018)|30.1.2009 16:49
To prostě nejde.
Musíš to udělat tak, že to uploaduje rovnou ten program - udělat HTTP post na server neni vůbec těžký i s RAW socketem, natož když použiješ nějakou komponentu....
Tzn pokud to neumí přímo ten program, tak si na to napiš nějakej prográmek, kterej ten upload provede.
petr.svec (320)|31.1.2009 11:04
Idea dobrá, jenže nelze... server nemůže bez jeho vědomí uložit soubor na disk, protože tak může udělat až na základě jeho akce po přihlášení...

vím, např. že přes java bylo možné používat IO operace na disketě (na disku to bylo z důvodu bezpečnosti zakázáno), jenže já nutně potřebuji přístup na ten disk C: ...
Logout (4018)|31.1.2009 23:02
Na klientovi to prostě jednoduše udělat nelze.
Pokud server chce přihlášení, máš tři možnosti
1) buď na serveru povol přidávání souboru bez přihlášení (třeba tak, že ten soubor půjde do dočasnýho úložiště a vrátí uživateli kód, kterym pak přihlášenej uživatel soubor zvaliduje a přesune na určený místo)
2) a nebo prostě klientem se nejprve přihlaš a pak teprve proveď POST souboru (přihlášení bude pravděpodobně přes cookies, takže žádnej velkej problém - prostě nejprve uděláš GET/POST na přihlašovací stránky přečteš vrácenou cookie a tu odešleš spolu s formulářem).
3) Napsat ActiveX komponentu pro IE, popř. rozšíření do firefoxu, který to provede - ale to je v podstatě ekvivalent možnosti 1.
Intri (3490)|1.2.2009 01:01
Nešlo by jednoduše na klientské stanici zprovoznit nějaký webový server, ke kterému by se server připojil? Klient by se tak vlastně stal serverem a server klientem. Což si myslím, že by neměl být problém.

Klientské aplikaci by pak jenom stačilo ukládat nové verze souboru na stejné uložiště, server by si pak pro ten soubor v nějakém pravidelném čase sahal.

Nebo ( jak mě napadlo v průběhu psaní ) by se dala napsat pro klienta jednoduchá webová služba ( v C# to jde velice snadno ), pro server jednoduchá aplikace beroucí z této služby data a je to. Jak webová služba, tak aplikace by byly otázka pár řádků kódu - přičemž v podstatě jediný úkol obojího je přenést jeden soubor.

EDIT: Ještě, pokud jde o o využití webové služby, při troše větších znalostí webových služeb, protokolu SOAP a formátu XML by se dal klient pro přístup do webové služby vypustit - obecně silná stránka webových služeb je, že jsou platformě zcela nezávislé. Webovou službu je možné napsat v C#, ale přistupovat k ní lze z Javy, Cčka, C#, Pythonu, z čehokoliv.
Logout (4018)|1.2.2009 01:20
Jo, todle mě nenapadlo - pokud by si měl server šahat na klienta, asi nejjednodušší je na klientovi povolit ftp - to maj všechny xp professional, popř. nějaký jednoduchý ftp server.