ASP decodifica non corretta di QUERY_STRING e potrebbe Mostra le informazioni di percorso della Metabase

Traduzione articoli Traduzione articoli
Identificativo articolo: 261116 - Visualizza i prodotti a cui si riferisce l?articolo.
Questo articolo è stato archiviato. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.
Espandi tutto | Chiudi tutto

Sintomi

Si utilizza l'insieme Response.QueryString per recuperare i valori dalla parte finale di un URL, ma non vengono visualizzati i valori previsti. I valori restituiti contrario potrebbero essere informazioni della metabase di Internet Information Services (IIS).

Cause

L'oggetto Request intrinseco di ASP (Active Server Pages) contiene informazioni che viene inviate dal client al server in una richiesta HTTP. L'insieme di QueryString contiene qualsiasi coppie nome/valore vengono visualizzate alla fine dell'URL. Ad esempio:
http://server/virtualDirectory/page.asp?name=value
				
questa informazioni saranno codificata in URL.


Ad esempio
http://server/virtualDirectory/page.asp?name=my_value
				
apparirà come:
http://server/virtualDirectory/page.asp?name=my%5Fvalue
				
tuttavia, se il valore contiene un segno di percentuale e un valore esadecimale che non corrisponde a un carattere valido (mapping "5F %" per un carattere di sottolineatura [_]), il valore dell'insieme restituito sarà il percorso del sito Web sotto forma di un percorso della metabase. Può trattarsi di un problema quando la variabile viene stampata direttamente in HTML tramite Response.Write.

Ad esempio
Response.Write Request.QueryString("name")
				
stampa:
LM/W3SVC/1/Root/VirtualDirectoryName
					

Risoluzione

Per risolvere questo problema è necessario ottenere la versione più recente del service pack per Windows 2000. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
260910Come ottenere Windows 2000 Service Pack più recente
Per risolvere il problema, è possibile utilizzare la funzione Server.URLEncode per codificare i valori QueryString prima di aggiungere QueryString.

Ad esempio:
Response.Redirect "http://server/virtualDirectory/page.asp?name=" & Server.URLEncode("My Name ThatContains A % Sign")
				

Se si stampa il valore di nome utilizzando
Response.Write Request.Querystring("name")
				
su Page.asp, il risultato sarà "Nome che contiene un segno di %" come previsto.

Status

Microsoft ha confermato che questo un problema di Microsoft Windows 2000.

Questo problema è stato corretto per la prima volta nel Service Pack 1 per Windows 2000.

Proprietà

Identificativo articolo: 261116 - Ultima modifica: lunedì 3 febbraio 2014 - Revisione: 3.3
Le informazioni in questo articolo si applicano a:
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
Chiavi: 
kbnosurvey kbarchive kbmt kbbug kbfix kbwin2000sp1fix KB261116 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 261116
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com