7 messaggi dal 14 luglio 2016
Salve, nello sviluppare un progetto in Asp.net mvc, ho creato alcune action di alcuni controller che quando vengono richiamati con il GET, richiedono in ingresso dei parametri. Questi parametri sono però visibile nell' url e li si può manipolare facilmente. E' possibile criptare tutti gli url?
Ad esempio quando si ha l' url

/Controller/action?id=5

vorrei sempre qualcosa del tipo

/Controller/action?q=CRIPTATO

Creando un helper personalizzato e una classe che estende ActionFilterAttribute con l' overide del metodo OnActionExecuting riesco a criptare la query string ma quando faccio il postback, i dati mi si ripresentano di nuovo in chiaro. Volevo sapere quindi se conosceste qualche altra soluzione per evitare che l' utente giocando con le info nell' url, combini qualche disastro.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
criptare la querystring non è una buona soluzione. Penso che il problema possa essere risolto in un altro modo, spiega bene la situazione in cui ti trovi e cosa vuoi evitare che gli utenti facciano.

Se il tuo scopo è impedire che l'utente bypassi la validazione lato client inserendo dati non validi, allora dovresti iniziare ad usare anche la validazione lato server per evitare questo problema.

Puoi usare le data annotations per imporre l'obbligatorietà di un valore o per descrivere il suo formato. Leggi questa guida che ti mostra come applicare le data annotations sulle proprietà delle classi del tuo modello.
https://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-6

ciao,
Moreno

Enjoy learning and just keep making
7 messaggi dal 14 luglio 2016
Eccoti un esempio:

[httpPost]
public ActionResult NuovaSpedizione(SpedizioneTotale ST, bool modSpedizione, string IDModSpdizione)

I valori del metodo mi servono per determinare il comportamento del metodo. Se sottometto la form della view associata e il modelstate non è valido, ritornando alla view i valori delle variabili sono visibili nella query string. Modificandoli direttamente da essa, si può forzare la funzionalità del metodo in una direzione. Io voglio evitare tutto ciò.
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,
dovresti riprogettare il metodo affinché usi una logica di validazione dei comandi che arrivano dal client. Se correggi questo problema subito, eviterai che ti si ripresenti poi sotto altre forme.

Dal metodo ti consiglio di:
  • Verificare che l'utente sia effettivamente autorizzato a compiere quell'operazione che chiede di voler fare;
  • Verificare che lo stato attuale dell'entità sia adatto a compiere quell'operazione (es: un ordine non può essere messo in spedizione se non risulta già pagato).


Non ti mettere a criptare la querystring perché secondo me sarebbe un compromesso che va solo a coprire un difetto progettuale.

ciao,
Moreno
Modificato da BrightSoul il 09 ottobre 2016 00.36 -

Enjoy learning and just keep making
2 messaggi dal 21 agosto 2023
KlingeltoneMp3 ist Ihre ultimative Quelle für alle Ihre Klingeltöne und Sounds! Egal, ob Sie nach dem neuesten Pop-Hit oder Ihrer Lieblings-Disney-Melodie suchen, KlingeltoneMp3 hat alles zu bieten. Mit uns können Sie Ihr Telefon personalisieren und expressiv machen. Wir haben eine riesige und vielfältige Sammlung von Klingeltönen in verschiedenen Kategorien wie Android, Iphone, Marimba Remix, Samsung, Tiktok, Urlaub, Electronica, Klassik, Nachrichtentöne, Soundeffekte, Uncategorized, Whatsapp, HipHop, Komisch, Pop, Synthetik, Unterhaltung und anderen. Fühlen Sie sich also frei, stöbern und Ihre Songselections zu finden, die speziell auf Sie angepasst sind.
https://klingeltonemp3.com/
Modificato da angelinaruiz il 21 agosto 2023 04:08 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.