Cross-site scripting: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Il codice in quanto errato. |
→Disabilitare gli script: interlink |
||
Riga 98:
Mentre le applicazioni [[web 2.0]] e [[AJAX|Ajax]] favoriscono l'uso di JavaScript<ref>{{Cita web|url=http://oreilly.com/web2/archive/what-is-web-20.html|titolo=What Is Web 2.0|sito=oreilly.com|accesso=21 maggio 2016}}</ref>, alcune applicazioni web sono scritte per consentire il funzionamento senza la necessità di qualsiasi script lato client<ref>{{Cita libro|nome=Frank|cognome=Zammetti|titolo=Practical JavaScript, DOM Scripting and Ajax Projects|url=http://www.amazon.com/gp/reader/1590598164/|accesso=21 maggio 2016|edizione=2007 edition|data=11 aprile 2007|editore=Apress|lingua=en|ISBN=978-1-59059-816-0}}</ref>. Questo permette agli utenti, se lo desiderano, di disattivare qualsiasi script nei loro browser prima di utilizzare l'applicazione. In questo modo, gli script lato client, anche potenzialmente dannosi, potrebbero essere inseriti senza caratteri di escape in una pagina e gli utenti non sarebbero suscettibili di attacchi XSS.
Alcuni browser o plugin per browser possono essere configurati per disattivare gli script lato client in base al dominio. Questo approccio ha valore limitato se gli script sono abilitati di default, dato che verranno bloccati quando l'utente li avrà riconosciuti come pericolosi, ma ormai sarà troppo tardi. Una funzionalità che blocca tutti gli script e inclusioni esterne di default, e che quindi permette agli utenti di abilitare in base al dominio, è più efficiente. Questo è stato possibile per un lungo periodo su Internet Explorer (dalla versione 4) impostando le cosiddette “zone di sicurezza”<ref>{{Cita web|url=http://support.microsoft.com/kb/174360/en-us|titolo=Security zones: adding or removing websites - Windows Help|sito=windows.microsoft.com|accesso=21 maggio 2016}}</ref> e in Opera (dalla versione 9) usando le “preferenze specifiche del sito”. La soluzione per Firefox e altri [[Gecko]]-based browser è l'add-on open source [[NoScript]] che oltre ad abilitare gli script per dominio, fornisce una certa protezione XSS anche quando gli script sono abilitati<ref>{{Cita web|url=http://db.tidbits.com/article/9511|titolo=Should Mac Users Run Antivirus Software?|sito=db.tidbits.com|accesso=21 maggio 2016}}</ref>.
Il problema più rilevante dato dal blocco di tutti gli script in tutti i siti web di default è la sostanziale riduzione delle funzionalità e della reattività (lo scripting lato client può essere molto più veloce rispetto a quello lato server perché non ha bisogno di connettersi ad un server remoto e la pagina, o il frame, non ha bisogno di essere ricaricata).Un altro problema con il blocco dello script è che molti utenti non lo capiscono e non sanno come proteggere adeguatamente il loro browser. Un altro svantaggio che molti siti non funzionano senza scripting lato client, costringendo gli utenti a disattivare la protezione per il sito<ref>{{Cita news|url=http://news.bbc.co.uk/2/hi/technology/6210068.stm|titolo='Most websites' failing disabled|pubblicazione=BBC|data=5 dicembre 2006|accesso=21 maggio 2016}}</ref>. L'estensione per Firefox NoScript consente agli utenti di abilitare gli script da una determinata pagina ma non consente l'esecuzione ad altri della stessa pagina. Ad esempio, gli script da example.com possono eseguire, gli script da advertisingagency.com che sta tentando di eseguire sulla stessa pagina possono essere disabilitati<ref>{{Cita web|url=http://noscript.net/features|titolo=NoScript - JavaScript/Java/Flash blocker for a safer Firefox experience! - features - InformAction|sito=noscript.net|accesso=21 maggio 2016}}</ref>.
|