Problema con i field validator dopo aggiornamento patch (così si presu...

lunedì 05 maggio 2008 - 12.20

lupotto Profilo | Newbie

Salve a tutti, questo è il mio primo post, mi chiamo Flaviano faccio il sistemista (non mi picchiate) e scrivo per chiedere ovviamente aiuto

Come detto prima che mi occupo di sistemi e non di sviluppo.....quindi chiedo scusa anticipatamente per eventuali imprecisioni: ho una macchina 2000 con iis5 e un sito realizzato in asp.net che gira sul framework 1.1, alcuni giorni fà dopo un riavvio a seguito dell'installazione di alcune patch, si verifica quanto segue:

Abbiamo una pagina di login con un bottone asp che fà entrare a parti protette del sito dopo aver inserito user name e password, cliccando accediamo a suddette parti, tuttavia dopo il riavvio necessario al completametno dell'installazione della patch (presumiamo sia questo ad averlo scatenato il problema) semplicemente non accade nulla, abbiamo verificato che tale comportamento anomalo si verifica solo con internet explorer e non con firefox od opera, il collega che si occupa del sito dopo una giornata passata a cercar di capire cosa è successo ha rimosso i "field validation" dei campi "user name" e "password" e pertanto ora sembra che la situazione in qualche misura sia stata riportata alla normalità.

Ora lato server quel che posso dire è che non sono presenti errori relativi al framenetwork che è in versione 1.1 service pack 1, inoltre la macchina non accusa malfunzionamenti di sistema ne sono presenti errori nell'event viewer, ora le patch installate sono:

kb944338
kb945553
kb948590
kb941693
kb948881
kb947864

E sul sito microsoft relativamente ai bollettini di tali patch non sono presenti problemi noti o controindicazioni.

Ora secondo voi come è possibile ripristinare il corretto funzionamento di questi field validation, senza dover iniziare a disinstallare patch di sicurezza?

E sopratutto sono davvero necessari questi field validation dato che da quel che ho capito non li ha inseriti il collega ma direttamente il visual studio.net


Grazie anticipatamente per l'aiuto.

Brainkiller Profilo | Guru

>Salve a tutti, questo è il mio primo post, mi chiamo Flaviano
>faccio il sistemista (non mi picchiate) e scrivo per chiedere
>ovviamente aiuto

Ciao e Benvenuto.
Ricapitolando perchè non ho ben capito, praticamente dopo la patch non ti funzionano più i Field Validators così come prima della Patch ? Se è così dev'essere capitato anche a me. Fammi sapere se è così.

>E sopratutto sono davvero necessari questi field validation dato
>che da quel che ho capito non li ha inseriti il collega ma direttamente
>il visual studio.net

Dovrebbe averli inseriti il collega Dev. In genere servono per validare l'Input e quindi limitare la possibilità lato utente di inserire qualsiasi cosa.

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lupotto Profilo | Newbie

Ciao e grazie innanzitutto per la risposta, allora spiego meglio:

Prima di installare le patch che ho riportato in topic, i field validator funzionavano, dopo il riavvio del server per completare l'installazione delle patch abbiamo riscontrato il problema sopra esposto: ossia che il bottone asp a cui erano connessi i filed validator per quanto riguarda user e password.... per un "x" motivo hanno smesso di funzionare tale verifica è stata fatta prima creando banalmente un pulsante asp e poi inserendo i campi di autenticazione, ed infine togliendo per esclusione tutto il codice che non ci sembrava essenziale.....al che rimosso la parte di codice realtivo ai field validator siamo riusciti a consentire la login anche con il browser explorer.

Ora quello che non capisco è perchè il problema si è innescato con un solo tipo di browser che è l'explorer in tutte le sue versioni dalla 5 alla 7, altri browser invece riuscivano a fare la login senza problemi, questo ipotizzo io è perchè probabilmente interpretano il javascript in modo diverso da explorer.

Oppure è possibile che il framework a seconda del tipo di browser mandi una cosa differente.

Purtroppo lato sistema non ho molte indicazioni dato che il server gira senza problemi e non presenta errori relativi al framework o altri applicativi ne tantomeno lato sistema

Aggiungo che il collega programma con visual studio 2003, non sò se può essere utile come informazione, ma prima ho dimenticato di inserirla.

Brainkiller Profilo | Guru

>Ora quello che non capisco è perchè il problema si è innescato
>con un solo tipo di browser che è l'explorer in tutte le sue
>versioni dalla 5 alla 7, altri browser invece riuscivano a fare
>la login senza problemi, questo ipotizzo io è perchè probabilmente
>interpretano il javascript in modo diverso da explorer.

Eh eh, stendiamo un velo pietoso sul perchè su IE non va e sugli altri Si.

Hai verificato se c'è la cartella aspnet_client nella root del sito ? Con dentro i relativi script per la validazione client-side ?

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lupotto Profilo | Newbie

Allora ho controllato e nella wwwroot è presente la seguente cartella:

\aspnet_client\system_web\1_1_4322

all'interno ho i seguenti file:

smartnav.js
webUIValidation.js

più due cartelle:

_derived
_vti_cnf

Avevo controllato anche questa mattina se erano presenti, ho anche pensato di prenderle da un'altro server web e ricopiarcele dentro, ma sono uguali.

Mi son dimenticato un'altra cosa, dopo aver riavviato il server la prima volta, alcune macchine che avevano acceduto al sito nei giorni precedenti riuscivano a loggarsi senza problemi con explorer, tuttavia se si andava a svuotare la chace il problema si ripresentava, potrebbe essere un problema dei javascript delel pagine lato client?

Brainkiller Profilo | Guru

>si ripresentava, potrebbe essere un problema dei javascript delel
>pagine lato client?

Secondo me sì. Prova a verificare nel source HTML della pagina il path remoto ai Javascript di validazione. Appendili all'host e vedi se sono raggiungibili e scaricabili correttamente. Magari puoi verificare anche dai Log se per quei file c'è uno status code di 200 (cioè Ok) oppure altro.

Mi confermi comunque che su altri Browser funziona correttamente anche svuotando la cache ?
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lupotto Profilo | Newbie

Si usando altri browser anche svuotando la cache funzionano, per provarlo ho anche preso un pc di un collega ed ho installato firefox ex novo e funziona, un'altra cosa che stò pensando, ma non sò quanto possa essere attinente al problema è che sulla macchina è presente urlscan monito di microsoft, ma è presente sin da quando è stato installato il server e non ha mai dato problemi.

Proverò a fare le verifiche e farò sapere

Piccolo aggiornamento, ho duplicato il problema su un altro server, quindi temo vi sia una qualche incompatibilità con qualche patch e questi field validator.

Ho girato il tuo post al collega, ma non riusciamo a capire come trovare i path remoti, nel codice html

Puoi darmi qualche indicazione più precisa? scusa ma sono un pò gnucco io

Brainkiller Profilo | Guru

>Si usando altri browser anche svuotando la cache funzionano,
>per provarlo ho anche preso un pc di un collega ed ho installato
>firefox ex novo e funziona, un'altra cosa che stò pensando, ma
>non sò quanto possa essere attinente al problema è che sulla
>macchina è presente urlscan monito di microsoft, ma è presente
>sin da quando è stato installato il server e non ha mai dato
>problemi.

Non penso che la causa sia URLScan.

>Piccolo aggiornamento, ho duplicato il problema su un altro server,
>quindi temo vi sia una qualche incompatibilità con qualche patch
>e questi field validator.

Ora mi sono rinfrescato un po' la memoria. Nel mio caso sai cosa avevo fatto ? Ho fatto fare la validazione Server side con:

if (Page.IsValid) ecc.

Proprio per non dover perdere tempo e indagare qual era il problema. Il mio server era un Windows 2003 SP2.

>Ho girato il tuo post al collega, ma non riusciamo a capire come
>trovare i path remoti, nel codice html

Ma niente la mia idea era solo di verificare se i file del Javascript contenuti nella aspnet_client venivano effettivamente scaricati sul client. Magari ti basta verificare nella cache di IE se li trovi.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lupotto Profilo | Newbie

Allora piccolo aggiornamento: ho provato a rimuovere le patch che pensavo potessero essere fonte del problema una ad una provando il sitob ad ogni patch disinstallata ma nulla...il problema persiste.

Allora ho cercato un pò in giro e ho trovato un comando relativo al framework che è:

"aspnet_regiis.exe" che con l'opzione "-c" dovrebbe fare quanto segue:

-c" - crea per tutti i siti presenti sul nostro server la cartella "aspnet_client" con gli script in Javascript utili per la validazione e altre funzioni client-side:



Tuttavia e non capisco il perchè dando tale comando mi resituisce l'errore:


C:\WINNT\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis.exe -c
Start copying the ASP.NET client side script files for this version (1.1.4322.0
.
An error has occurred (0x80070005).
You must have administrative rights on this machine in order to run this tool.

Inutile dire che sulla macchina sono amministratore.....secondo voi con questo comando ammesso che lo prenda.....potrei risolvere qualche cosa?


Brainkiller Profilo | Guru

>Inutile dire che sulla macchina sono amministratore.....secondo
>voi con questo comando ammesso che lo prenda.....potrei risolvere
>qualche cosa?

Secondo me no, perchè quello che dovrebbe fare è ricreare le cartelle aspnet_client con dentro i famosi javscript di validazione di cui parlavamo a inizio Thread. Ma quest'operazione si può fare anche copiando e incollando banalmente la cartella con dentro gli Script.

Sul fatto che ti dà quel messaggio d'errore non so

Hai provato a sentire dai tuoi programmatori se non vale magari la pena di far fare la validazione Server side come ti ho indicato ?
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lupotto Profilo | Newbie

Si ma sembra che questi field validator stanno disseminati un pò ovunque e in pratica devono riscrivere mezzo sito

lupotto Profilo | Newbie

Piccolo aggiornamento, ho scoperto che rinominando la cartella "aspnet_client" l'autenticazione funziona anche con internet explorer

Possibile tutto ciò? la prova l'ho replicata varie volte, ora vabbè che ho trovato un workaround per il problema ma vorrei capire il perchè di questo comportamento.

Doman stresso gli sviluppatori.


Ore 19:30 penso di aver trovato la soluzione definitiva, rinominare la cartella aspnet_client e lanciare il comando aspnet_regiis -c per fargliela ricreare

Ora funziona tutto di nuovo!!!!

Brainkiller Profilo | Guru

>Si ma sembra che questi field validator stanno disseminati un
>pò ovunque e in pratica devono riscrivere mezzo sito

Hai per caso installato il .NET Framework 1.1 SP1 ? C'è una versione specifica per Windows 2003 e la trovi qui:
http://www.microsoft.com/downloads/details.aspx?FamilyId=AE7EDEF7-2CB7-4864-8623-A1038563DF23&displaylang=en
Questa per OS 32 bit e Eng. Eventualmente cambia lingua.

Il problema che lamenti potrebbe essere questo:
http://support.microsoft.com/kb/822734/en-us

La Fix è contenuta nell'SP1.
Ciao
E' da provare.

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

lupotto Profilo | Newbie

>Hai per caso installato il .NET Framework 1.1 SP1 ? C'è una versione specifica per >Windows 2003 e la trovi qui:
>http://www.microsoft.com/downloads/details.aspx?FamilyId=AE7EDEF7-2CB7-4864-8623->A1038563DF23&displaylang=en
>Questa per OS 32 bit e Eng. Eventualmente cambia lingua.

Ciao allora la macchina è un windows 2000 server sp4, il problema si è presentato prima che installassi .net framework 1.1 sp1

>Il problema che lamenti potrebbe essere questo:
>http://support.microsoft.com/kb/822734/en-us

>La Fix è contenuta nell'SP1.
>Ciao
>E' da provare.

Leggendo l'articolo che mi hai linkato sembrerebbe presentare caratteristiche simili, però purtroppo pur applicando la sp1 del .NET framework 1.1 la situazione non mi veniva risolta.

La soluzione che ho trovato io, magari molto terra terra, è quella che ho riportato sopra, eliminazione e rigenerazione cartella aspnet_client

Però voglio fare una prova domani: ossia rimettere la cartella aspnet_client che mi impedisce il corretto funzionamento del sito e installare la fix che segnali ;-)

Grazie comunque della segnalazione dell'articolo mi sembra molto interessante

Brainkiller Profilo | Guru

>Però voglio fare una prova domani: ossia rimettere la cartella
>aspnet_client che mi impedisce il corretto funzionamento del
>sito e installare la fix che segnali ;-)
>Grazie comunque della segnalazione dell'articolo mi sembra molto
>interessante

Ok fammi sapere dell'esito
Magari abbiamo risolto un problema.

Forse gli script di validazione da 1.1 all'SP1 sono cambiati e magari quelli che avevi nella root erano i vecchi e non funzionavano più ? Boh, però il fatto che poi togli la cartella e vanno ? E' ancora più comico, magari sono stati generati altrove bisognerebbe vedere come dicevo il source della pagina.

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
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