Domanda

Ho un'applicazione Web C # su .net 2.0 ospitata sul server A. L'applicazione Web consente agli utenti di caricare file utilizzando <input id="File1" name="filMyFile" type="file" runat="server" /> sul server A. Tutto funziona perfettamente.

Ora mi viene chiesto di modificare l'applicazione Web per consentire alle pagine di essere servite da A per consentire il caricamento direttamente sul server B senza memorizzare alcuna informazione su A nemmeno temporaneamente.

Mi è stato chiesto di farlo per motivi di sicurezza. Stavo pensando di utilizzare eventualmente un iframe e che il server B ospitasse solo la parte di upload che racchiudeva la richiesta con SSL. Non sono del tutto sicuro delle implicazioni di sicurezza nel fare questo, tuttavia ho visto alcuni siti Web in cui per il loro controllo di accesso hanno SSL solo un iframe che contiene la parte di accesso e il resto del loro sito non era sicuro.

È una cosa OK da fare? Qualcuno può consigliare un modo migliore? Forse suggerire un'architettura di base.

È stato utile?

Soluzione

Ho usato l'approccio iframe, in cui il codice iframe con il modulo di upload è ospitato sul Server B. Ha funzionato abbastanza bene. Se lo desideri, puoi anche ospitare l'intera pagina sul server B.

Altri suggerimenti

Perché non impostare semplicemente form l'azione sulla pagina protetta SSL sul server B?

<form method="POST" action="https://serverb/uploadmanager.ashx" ...>

Potresti anche scrivere il file direttamente su un db SQL. Preferisco questo approccio dal punto di vista della sicurezza poiché il file non vive mai sul disco rigido del server. Potrebbe quindi essere condiviso tra i due server.

Il rovescio della medaglia è che è più difficile eseguire la scansione AV su file che non sono stati prima scritti su disco.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top