<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Weekly Issues</title>
        <link>http://blogs.ugidotnet.org/Box/category/2599.aspx</link>
        <description>Il problema del giorno, cronaca di che cosa posso trovarmi a risolvere in una comune giornata lavorativa... può essere una stupidata, oppure un gran problema... può essere tecnico o di interazione col team, Agile, o meno... insomma, può essere di tutto!</description>
        <language>it-IT</language>
        <copyright>Alessandro Ghizzardi</copyright>
        <generator>Subtext Version 2.1.0.5</generator>
        <item>
            <title>[Weekly Issue] TFS e Shaerpoint Services: finalmente &amp;egrave; finita...</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/11/12/weekly-issue-tfs-e-shaerpoint-services-finalmente-egrave-finita.aspx</link>
            <description>&lt;p&gt;E' finita la mia odissea con TFS. Da stanotte, o meglio da poco fa, sono (s)fortunato possessore di uno splendido TFS Workgroup Edition da distruggere per i test, con tanto di MyForsWorkspace creato ... spero che nel caso debba fare l'upgrade a Standard sia solo una questione di licenza e non debba toccare null'altro :P&lt;/p&gt;  &lt;p&gt;Stanotte, preso dallo sconforto e probabilmente dal sonno, ho superato l'ultimo scoglio riusciendo ad installare i maledettissimi Sharepoint Services. Questo perchè, leggendo l'installazione, mi sono illuso che questi venissero installati in automatico dall'installazione di TFS. O almeno, così era scritto. Invece, leggendo le postille, si legge che se uso Windows Server 2008, non posso utilizzare la funzionalità di installazione automatica degli Sharepoint Services (questo l'ho scoperto dopo aver perso 10 minuti a cercare l'opzione in un form che aveva, in realtà, solo due pulsanti e una checkbox :P) . Quindi, esci di nuovo, ed installa gli Sharepoint Services. Ricordandomi di _annotare la porta_ dell'administration website che _non_ è quella di default che ti propone poi TFS (ma hanno cambiato porta da 2003 server a 2008 server? O sono fumato io?).&lt;/p&gt;  &lt;p&gt;La chicca interessante è che, nell'installazione di Sharepoint Services, ti avvisa che l'utente deve avere i diritti di amministratore abilitati, quindi bisogna o disabilitare la UAC o far partire un prompt di comandi con previlegi elevati. Ricordandomi delle &lt;a href="http://blogs.ugidotnet.org/Box/archive/2008/11/11/weekly-issue-windows-2008-tfs-2008-workgroup-installation.aspx" target="_blank"&gt;mie peripezie di poco prima&lt;/a&gt;, mi è venuto in mente... che probabilmente sono ubriaco io :P&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/94613.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/11/12/weekly-issue-tfs-e-shaerpoint-services-finalmente-egrave-finita.aspx</guid>
            <pubDate>Wed, 12 Nov 2008 08:52:39 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/94613.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/11/12/weekly-issue-tfs-e-shaerpoint-services-finalmente-egrave-finita.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/94613.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/94613.aspx</trackback:ping>
        </item>
        <item>
            <title>[Weekly Issue] Hyper-V Core e controllo remoto</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/11/10/weekly-issue-hyper-v-core-e-controllo-remoto.aspx</link>
            <description>&lt;p&gt;Sto reinstallando i server della mia azienda, e ne ho approfittato per consolidare tutto usando Hyper-V. Oddio, tutto no, per ora TFS e Web server... ma è già un inizio!&lt;/p&gt;  &lt;p&gt;Ho avuto qualche piccolo problema di installazione, dovuto principalmente ad errori di gioventù... ma meglio riportarli, così sai mai che possa servire a qualcuno!&lt;/p&gt;  &lt;p&gt;1: Hyper-V Core è proprio core... viene installata l'interfaccia a comandi che poi ti permette di fare la maggior parte delle operazioni ma NON di gestire le virtual machine. Per quello, bisogna utilizzare il componente remoto.&lt;/p&gt;  &lt;p&gt;2: Il componente remoto di amministrazione (Hyper-V Manager) funziona solo su Vista (e ovviamente su un altro 2008) ed è scaricabile da qui :    &lt;br /&gt;&lt;a title="http://blogs.msdn.com/virtual_pc_guy/archive/2008/03/25/hyper-v-management-tools-available-for-vista-sp1.aspx" href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/03/25/hyper-v-management-tools-available-for-vista-sp1.aspx" target="_blank"&gt;http://blogs.msdn.com/virtual_pc_guy/archive/2008/03/25/hyper-v-management-tools-available-for-vista-sp1.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;3: La gestione dell'amministrazione remota è, a mio avviso, un pò troppo incentrata su Active Directory. Senza Active Directory, praticamente ogni cosa diventa un problema. Per permettere all'Hyper-V Manager di funzionare correttamente, bisogna fare una serie di passi sia sul client sia sul server che secondo me sono, oltre che poco intuitivi, assolutamente fuori luogo. Nella fattispecie bisogna, rigorosamente da riga di comando perchè sul core la UI non c'è, creare degli utenti (e non l'ho visto scritto da nessuna parte) cambiare i permessi, cambiare due regole sul firewall, abilitarli per l'uso di DCOM ... insomma, non potevano creare un'utenza built-in da usare per il controllo remoto, visto che con la core è necessario?? Ho trovato questa cosa decisamente frustrante... &lt;/p&gt;  &lt;p&gt;4: I passi da percorrere per riuscire a non impazzire li trovate qui:    &lt;br /&gt;&lt;a title="http://blogs.technet.com/jhoward/archive/2008/03/28/part-1-hyper-v-remote-management-you-do-not-have-the-requested-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername.aspx" href="http://blogs.technet.com/jhoward/archive/2008/03/28/part-1-hyper-v-remote-management-you-do-not-have-the-requested-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername.aspx" target="_blank"&gt;http://blogs.technet.com/jhoward/archive/2008/03/28/part-1-hyper-v-remote-management-you-do-not-have-the-requested-permission-to-complete-this-task-contact-the-administrator-of-the-authorization-policy-for-the-computer-computername.aspx&lt;/a&gt; (in cinque parti... giusto per farvi capire quanto sia agevole la procedura...)&lt;/p&gt;  &lt;p&gt;In soldoni... devo ammettere che alla fine ho desistito ed ho installato 2008 full con Hyper-V... molto più semplice da gestire anche se perdo un centinaio di mega di ram sull'host... &lt;/p&gt;  &lt;p&gt;Anche qui, comunque, una sorpresa: la versione shippata NON prevede Hyper-V, o meglio prevede la versione in pre-relase. Bisogna ricordarsi di scaricare l'aggiornamento che, sorpresa sorpresa, non è segnato come aggiornamento importante ma è un "raccomended"... mah....&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/94578.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/11/10/weekly-issue-hyper-v-core-e-controllo-remoto.aspx</guid>
            <pubDate>Mon, 10 Nov 2008 13:24:39 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/94578.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/11/10/weekly-issue-hyper-v-core-e-controllo-remoto.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/94578.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/94578.aspx</trackback:ping>
        </item>
        <item>
            <title>[Weekly Issue] Rimuovere i commenti da SubText</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/08/26/weekly-issue-rimuovere-i-commenti-da-subtext.aspx</link>
            <description>&lt;p&gt;Tornato dalle vacanze, mi sono trovato una spiacevole sorpresa. Non so come, non so quando, non so nemmeno perchè, ma mi sono trovato qualcosa come 4000 ping/trackback di spam.  &lt;/p&gt;
&lt;p&gt;Ancora non so se la risposta sia disabilitare totalmente ping/trackback o abilitare la moderazione (cosa che tra parentesi nemmeno so se funziona per i trackback), ma la cosa piu urgente da fare ora come ora è eliminare queste quintalate di feedback non desiderati. &lt;/p&gt;
&lt;p&gt;Una rapida scorsa all'interfaccia amministrativa di SubText mi fa capire che volendoli cancellare uno per uno (a pagina, 10 alla volta) con tanto di mille mila messaggi di conferma, sarei diventato vecchio in fretta. Do anche una guardata alle metablog api, ma noto che non ci sono metodi che mi permettono di cancellare i feedback. Ho anche cercato in giro post o accrocchi che ne parlassero, ma non ne ho trovato (possibile che sia stato l'unico ad avere questo problema?? :P) Se ci sono, me li sono persi, nel caso fatemelo sapere per favore :)&lt;/p&gt;
&lt;p&gt;Comunque, ho messo in atto la Soluzione Estrema, cioè ho buttato via un paio d'ore a costruire una windows form che servisse allo scopo.&lt;br /&gt;
Probabilmente è la soluzione più stupida del mondo, e non discuto che ce ne siano miliardi di altre, ma guardando come funziona il motore e cercando in giro non ho trovato spunti migliori. Se qualcuno ce li ha, me lo faccia sapere che posso pensare di tenerlo come referenza futura:)&lt;/p&gt;
&lt;p&gt;La mia ricetta è stata:&lt;/p&gt;
&lt;p&gt;- Un componente web browser&lt;br /&gt;
- Una regexp che controlli l'html&lt;br /&gt;
- Una discreta conoscenza degli oggetti mshtml.* (che, l'ho probabilmente già detto e lo ripeto, sono scritti col c**o)&lt;/p&gt;
&lt;p&gt;Non sapendo ovviamente nulla di nessuno dei tre punti, quello che è venuto fuori è una ciofeca (:P) ma piu o meno fa il suo lavoro.&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH: 462px; HEIGHT: 262px" height="323" alt="Blog cleaner in action" width="537" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/Box/1509/r_Blog%20Cleaner.png" /&gt;&lt;/p&gt;
&lt;p&gt;Praticamente, funziona così:&lt;/p&gt;
&lt;p&gt;- Si digita l'indirizzo della pagina che si vuole ripulire e si schissa "GO" (l'ho fatto per pagina perchè ho notato che il 99% dei feedback erano concentrati su una decina di post, probabilmente quelli meglio indicizzati in google)&lt;br /&gt;
- Ci si ricorda di fare login nella pagina amministrativa, altrimenti non viene fuori il link per rimuovere il commento&lt;br /&gt;
- Una volta fatto login, si rischiaccia "go" e si refresha la pagina per evitare la cache (tasto destro/refresh, altrimenti molte volte il webbrowser non si refresha bene)&lt;br /&gt;
- Una volta che si vedono tutti i millemila commenti con il remove comment, si schissa il pulsantone "Check feedbacks to purge". Apparirà la finestra che si vede in immagine, con la lista di tutti i commentii.&lt;br /&gt;
- Schiacciando "cancel" si torna indietro. Schiacciano "purge unchecked feedback", si cancellano TUTTI i feedback TRANNE quelli selezionati. Quindi attenzione di ricordarsi di selezionare i feedback che si vuole mantenere.&lt;/p&gt;
&lt;p&gt;A questo punto il programma torna indietro e, con un pò di magia nera ed un sacco di porcate, si prende gli oggetti link che ha precedentemente salvato e simula tutti i "click" (è purtroppo l'unico modo che ho trovato). L'accrocchio è lento come la morte, perchè purtroppo non sono riuscito ad intercettare l'evento di loading alle fine del click (UpdatePanel e oggetto WebBrowser a quanto pare non quagliano molto), quindi ho fatto la solenne porcata di aspettare 3 secondi per ogni click. Ne consegue che ci metterà sempre 3 secondi a feedback, che in caso di 4000 link come me possono voler dire parecchie ore, ma almeno lo fa in background mentre io sto facendo altro :) Oltretutto ogni volta devo riparsare il documento pre ripopolare la collezione di link, perchè l'update panel cambia rimuovendo il link cancellato, ma l'oggetto webbrowser non se ne accorge (e non lancia nessun evento.. grrrrr) e quindi non posso utilizzare i link vecchi tenuti in memoria. &lt;/p&gt;
&lt;p&gt;Il codice fa sicuramente schifo ed è quanto di piu lontano di quello che può essere scritto bene, ma serviva solo per questo particolare problema, ed ora sono felice possessore di un blog piu pulito. Se volete utilizzarlo perchè avete il mio stesso problema, ed utilizzate SubText, vi allego il codice. Tenete comunque conto di questi punti importantissimi:&lt;/p&gt;
&lt;p&gt;1: è assolutamente pensato per lavorare sul MIO blog con la MIA skin. Visto l'utilizzo intenso di interazione con il DOM della pagina, non è ASSOLUTAMENTE assicurato che funzioni anche sul vostro. anzi, è quasi sicuro che si pianti :)&lt;br /&gt;
In particolare, io gioco con il parent del link "remove comment" per popolare la lista dei feedback in maniera corretta. Sulla mia skin precedente, il div giusto era SOTTO il link removecomment, quindi prendevo l'ultimo children del parent, mentre nella skin attuale (che già che c'ero ho cambiato, la vecchia aveva stufato!) il div corretto è il secondo, mentre il remove comment è l'ultimo!&lt;br /&gt;
2: è assolutamente fornito "AS-IS", e non mi prendo nessuna responsabilità nel caso vogliate usarlo/testarlo/whatever. &lt;br /&gt;
3: Che nessun mi venga a dire che questo-o-quello si poteva fare meglio/diversamente/whatever che me ne frega :D L'unica cosa che mi interessa è se c'era qualche modo più diretto per interagire con il blog e cancellare tutto senza dover per forza simulare tutti i click (e se c'è un modo per far capire all'oggetto WebBrowser che il caricamento di un UpdatePanel è finito!)&lt;br /&gt;
4: Chiaramente ci sono molti (tanti) problemi, il più noioso che ho trovato è che l'updatepanel "scazza" dopo qualche minuto di attività, probabilmente per una perdita di credenziali, ma non sempre. Quindi, ogni tanto lancerà fuori un errore di tipo Sys.Web.Timeout exception o qualcosa di simile. Si chiude, si riapre, e si ricomincia :P&lt;br /&gt;
5: Ricordatevi sempre di selezionare i feedback che si vogliono mantenere! E' pensato per un post riempito di trackback inutili, quindi l'azione di default che fa è rimuoverli tutti a meno che non li si selezioni!&lt;/p&gt;
&lt;p&gt;Trovate il codice &lt;a href="http://www.unboxing.net/Labs/Blogcleaner/BlogCleaner.zip"&gt;qui&lt;/a&gt; (stavolta lo allego altrimenti, com'era successo per la stored di pulizia dei campi da Sql Injection, me la chiedete in trentamila e poi finisce che a qualcuno non arriva).&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Edi: come mi ha giustamente fatto notare simone, è subtext, non .text :D&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/93821.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/08/26/weekly-issue-rimuovere-i-commenti-da-subtext.aspx</guid>
            <pubDate>Tue, 26 Aug 2008 10:26:14 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/93821.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/08/26/weekly-issue-rimuovere-i-commenti-da-subtext.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/93821.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/93821.aspx</trackback:ping>
        </item>
        <item>
            <title>[Weekly Issue] L'inizio di una serie?</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/08/22/weekly_issue_l_inizio_di_una_serie.aspx</link>
            <description>&lt;p&gt;Sono ormai un paio di mesi che non riesco ad aggiornare i miei Daily Issue.&lt;/p&gt;
&lt;p&gt;Il motivo è presto detto: il lavoro massacrante mi ha costretto e levarmi di peso da tutte le attività community, per evitare di soccombere. Ho preso decisamente troppi impegni per questa fine di anno, tra cui due libri (uno in pubblicazione, il secondo in gestazione.. lunga :P) e una serie di team da formare e far crescere... troppe responsabilità e orari sballati mi hanno portato a dover rinunciare a qualcosa. Assodato che non rinuncio alla palestra ne al minimo di vita sociale che mi rimane, la scelta è dovuta per forza di cose cadere sulla community.&lt;/p&gt;
&lt;p&gt;Tornato dalle vacanze, ovviamente tempo di rinnovo e cambiamenti, le varie decisioni che ho pensato e ragionato lontano dalla tecnologia (prima vacanza in assoluto senza nessun tipo di connessione ad internet e cellulare lavorativo spento... due settimane totalmente sconnesso era un'esperienza che non assaporavo da tempo!) mi hanno portato a riconsiderare un pò i rapporti di forza e di impegno nei miei vari progetti.  Iniziando con un minore tempo lavorativo (11 ore al giorno ogni giorno, weekend inclusi, sono troppe, per chiunque) che mi libera giustamente delle ore per il resto, tra cui anche la community. &lt;/p&gt;
&lt;p&gt;In soldoni, cercherò di tornare a scrivere dei miei problemi o, meglio, delle mie soluzioni, ma piu raramente: un impegno di ogni giorno è difficile da attendere e, come tante cose, quando si inizia a mancare una volta si tende a mancare un tot. Scrivere invece una/due volte a settimana, è una cosa piu gestibile, pianficabile, posso farla nel week end tranquillamente e mi porta ad essere piu sereno ... vedremo come andrà quest'avventura :) Nel frattempo, buon rientro e buon lavoro a tutti!&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/93786.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/08/22/weekly_issue_l_inizio_di_una_serie.aspx</guid>
            <pubDate>Fri, 22 Aug 2008 16:32:48 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/93786.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/08/22/weekly_issue_l_inizio_di_una_serie.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/93786.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/93786.aspx</trackback:ping>
        </item>
        <item>
            <title>[Daily Issue] 1 2 3 stella...</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/07/22/daily-issue-1-2-3-stella.aspx</link>
            <description>&lt;p&gt;Non è esattamente uno Issue.... però per me si!&lt;/p&gt;  &lt;p&gt;Mi è arrivato il portatile nuovo... un XPS M1330 supercarrozzato che userò per gli spostamenti e/o tutte le occasioni in cui non posso e non voglio portarmi dietro il mio "mulo" (inteso come 17 pollici da 5kg, non come noto programma di file sharing :P).&lt;/p&gt;  &lt;p&gt;Ieri contento come una pasqua ho aperto la confezione e questo è quello che mi sono trovato davanti&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/Box/1509/r_PIC-0036.jpg" target="_blank"&gt;&lt;img src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/Box/1509/t_PIC-0036.jpg" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Tanto, chi voleva fare le virgolette?? :P&lt;/p&gt;  &lt;p&gt;(Comunque la Dell si è offerta di rispedirmelo intero per venerdi. Io purtroppo non ci sono, ho rimandato a Lunedi. L'assistenza, per fortuna, sembra funzionare anche in casi sfigati come questo!)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/93493.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/07/22/daily-issue-1-2-3-stella.aspx</guid>
            <pubDate>Tue, 22 Jul 2008 09:06:39 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/93493.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/07/22/daily-issue-1-2-3-stella.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/93493.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/93493.aspx</trackback:ping>
        </item>
        <item>
            <title>[Daily Issue] Sql Injection, ASP classic, e la storia</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/06/21/daily-issue-sql-injection-asp-classic-e-la-storia.aspx</link>
            <description>&lt;p&gt;Mi ricollego a &lt;a href="http://blogs.ugidotnet.org/maxi_1972/archive/2008/06/18/sql-injection.aspx" target="_blank"&gt;questo post&lt;/a&gt; di &lt;a href="http://blogs.ugidotnet.org/maxi_1972/" target="_blank"&gt;Massimiliano&lt;/a&gt; riguardo gli ultimi attacchi di Sql Injection che stanno subendo un pò tutti.&lt;/p&gt;  &lt;p&gt;Ricercando su goggle per 'www.bigadnet.com', vedrete subito una quantità di siti impressionante, tutti purtroppo sviluppati con il vecchio ASP 3.0. Molti, sempre purtroppo, riguardano siti istituzionali che fortunatamente sono stati già messi a posto, per ora. Se si conta che bigadnet è solo uno dei domini che si occupano di mandare in giro certe schifezze... a &lt;a href="http://www.dynamoo.com/blog/labels/SQL%20Injection.html" target="_blank"&gt;questo indirizzo&lt;/a&gt; trovate una lista aggiornata di altri domini. &lt;/p&gt;  &lt;p&gt;Il meccanismo di injection è piuttosto semplice anche se raffinato: si concentrano sugli id numerici, quindi tutte le funzioni di controllo che siamo abituati ad avere sul vecchio ASP, se ne vanno a donne di facili costumi. Anche qualsiasi tag stripping, ovviamente, non funziona, visto che la stringa è encodata come ha dimostrato Massimiliano. Inoltre, l'attacco si scatena sulle querystring, che molti sviluppatori (sigh) sono abituati a considerare "sicure" (eh, tanto chi mai si metterà a giocare con le querystring?? eh? eh... :P).&lt;/p&gt;  &lt;p&gt;Praticamente, al web server arriva una richiesta di questo genere:&lt;/p&gt;  &lt;p&gt;pagina.asp?IdNumerico=888;DECLARE%20@S%20VARCHAR(4000);SET%20@S=CAST([..CUT della mappazza])--&lt;/p&gt;  &lt;p&gt;Come ho detto prima, ne controllo apici ne tag stripping ci mettono a posto, quindi tutta la mappazza arriva bella diretta sul nostro db.    &lt;br /&gt;Gli attacchi sono di due tipi, uno che come ha mostrato massimiliano si "limita" a cambiare tutti i campi di un certo tipo aggiungendo la famosa stringa, e l'altro che oltre a questo crea un paio di tabelle temporanee e fa il dump del filesystem del SQL su tabella, che poi restituisce in output. &lt;/p&gt;  &lt;p&gt;Il secondo problema si può facilmente risolvere configurando in maniera coerente gli accessi al database (niente sa, niente dbowner, niente di niente :D).    &lt;br /&gt;Per il primo problema, invece, l'unica soluzione reale è utilizzare stored procedures con parameters: una soluzione che nel 1999/2000 utilizzavano in due e che ora è un must-have.     &lt;br /&gt;Purtroppo riscrivere un intero sito utilizzando stored procedures può non essere semplicissimo, soprattutto in caso di ecommerce o applicativi complessi.    &lt;br /&gt;In questi casi una soluzione possibile è controllare ogni imput utilizzando regular expression (tipo regEx.Pattern = "[^0-9a-zA-Z]" per filtrare qualsiasi cosa non sia un numero o una lettera) o una lista di "bad words", inserendo per esempio "CAST", "VARCHAR", etc. Purtroppo, si corre il rischio di filtrare anche contenuti corretti, soprattutto in caso di CMS... li bisogna controllare di volta in volta il singolo caso, rimboccarsi le maniche e... convincere il cliente a migrare il sito del 1999 in ASP.NET!!!!! :D&lt;/p&gt;  &lt;p&gt;P.S.: Si, ho scritto tutto questo perchè il piu vecchio applicativo residente sui miei server è stato ovviamente attaccato! Se qualcuno avesse dei problemi a ripulire il DB, mi sono fatto una consolle application che con sprezzo di select si occupa di girarsi tutti i campi e rimettere a posto le cose. Se a qualcuno serve, mi contatti: ovviamente non mi prendo responsabilità :P&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/93114.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/06/21/daily-issue-sql-injection-asp-classic-e-la-storia.aspx</guid>
            <pubDate>Sat, 21 Jun 2008 09:37:27 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/93114.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/06/21/daily-issue-sql-injection-asp-classic-e-la-storia.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/93114.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/93114.aspx</trackback:ping>
        </item>
        <item>
            <title>[Daily Issue] Cambiare/rimuovere l'intestazione delle form in un Setup Project</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/05/09/daily-issue-cambiarerimuovere-lintestazione-delle-form-in-un-setup-project.aspx</link>
            <description>&lt;p&gt;Sono un paio di giorni che sto "impazzendo" con la scarsa maneggevolezza dei setup project.&lt;/p&gt;  &lt;p&gt;Odio fare progetti di setup generalmente e quando li faccio sono sempre molto semplici.   &lt;br /&gt;Se devo andare un tantino oltre, mi scontro sempre con le evidenti limitazioni di "semplicità" del setup project di Visual Studio.&lt;/p&gt;  &lt;p&gt;Stendendo un velo pietoso sui maneggi per cercare di dare un aspetto grafico alla cosa, dopo aver semplicemente cambiato la banner image, mi sono scontrato col fatto che il titolo dato di default ai vari tipi di form faceva a pugni con l'immagine messa come banner... &lt;/p&gt;  &lt;p&gt;La soluzione piu ovvia è levare la scritta... peccato che in User Interface Design non ci sia una proprietà che permette di farlo.... stupito e scioccato da una cosa così strana, imboccato da un consiglio di &lt;a href="http://blogs.ugidotnet.org/corrado" target="_blank"&gt;Corrado&lt;/a&gt; ("perchè non provi ad usare &lt;a href="http://www.technipages.com/download-orca-msi-editor.html" target="_blank"&gt;Orca&lt;/a&gt;?" che per chi non lo sapesse è un msi editor), mi sono messo a "ravanare" nell'MSI finchè alla voce Control non ho trovato, ordinando per "type" tutta la serie di "BannerText". E' bastato brasare tutti per ottenere il risultato atteso... certo, se dovessi ricompilare dovrei rifare tutto... &lt;/p&gt;  &lt;p&gt;E mi sorge la domanda.. ma era veramente così complesso esporre la proprietà come pubblica? :D&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/92590.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/05/09/daily-issue-cambiarerimuovere-lintestazione-delle-form-in-un-setup-project.aspx</guid>
            <pubDate>Fri, 09 May 2008 14:19:22 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/92590.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/05/09/daily-issue-cambiarerimuovere-lintestazione-delle-form-in-un-setup-project.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/92590.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/92590.aspx</trackback:ping>
        </item>
        <item>
            <title>[Daily Issue] Ajax e &amp;quot;Maximum length exceeded&amp;quot;</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/05/06/daily-issue-ajax-e-quotmaximum-length-exceededquot.aspx</link>
            <description>&lt;p&gt;Mi è capitato in un paio di progettini Ajax con cui stavo "giocando" (cambiate "giocando" con "pubblicando in produzione" ed avrete un'idea un tantino piu precisa :P) di avere ogni tanto il suddetto errore quando invocavo Page Methods o Web Services dal mio codice Ajax.&lt;/p&gt;  &lt;p&gt;Dopo una prima fase di nervosismo (visto che di questi giorni è il periodo degli errori che capitano "ogni tanto".... magari in futuro ne scriverò altri :) ) ho controllato un pò i dati che passavano e mi sono accorto che ad un certo momento, per determinati criteri di ricerca, venivano passati piu di 2 mega di dati tra lo strato server e lo strato Javascript... &lt;/p&gt;  &lt;p&gt;E' bastato quindi andare nel web.config e cambiare la maxJsonLength che, di default, è impostata su 2MB e portarla a 4... per un pò dovrei essere a posto :)&lt;/p&gt;  &lt;p&gt;&amp;lt;system.web.extensions&amp;gt;   &lt;br /&gt;    &amp;lt;scripting&amp;gt;    &lt;br /&gt;        &amp;lt;webServices&amp;gt;    &lt;br /&gt;            &amp;lt;jsonSerialization maxJsonLength="4194304"/&amp;gt;    &lt;br /&gt;        &amp;lt;webServices&amp;gt;    &lt;br /&gt;    &amp;lt;scripting&amp;gt;    &lt;br /&gt;&amp;lt;system.web.extensions&amp;gt;    &lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/92526.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/05/06/daily-issue-ajax-e-quotmaximum-length-exceededquot.aspx</guid>
            <pubDate>Tue, 06 May 2008 08:02:50 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/92526.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/05/06/daily-issue-ajax-e-quotmaximum-length-exceededquot.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/92526.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/92526.aspx</trackback:ping>
        </item>
        <item>
            <title>[Daily Issue]  Vista e Telnet</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/04/25/daily-issue--vista-e-telnet.aspx</link>
            <description>&lt;p&gt;Se come me non usate spesso telnet, e avete installato vista da tempo ma, quando lo andate a cercare, non riuscite a farlo partire da command prompt.... è perchè dovete installarlo :)&lt;/p&gt;  &lt;p&gt;Control Panel / Programs and Features / Features di windows / Telnet client.&lt;/p&gt;  &lt;p&gt;Fonte: &lt;a href="http://blogs.sysadmin.it/redrain/archive/2006/12/15/Vista-Mamma-ho-perso-il-telnet.aspx" target="_blank"&gt;RedRain&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;P.S.: Si, sto lavorando il 25 Aprile. No, non sono antiliberazione. Si, sono un cretino :D&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/92383.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/04/25/daily-issue--vista-e-telnet.aspx</guid>
            <pubDate>Fri, 25 Apr 2008 19:26:30 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/92383.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/04/25/daily-issue--vista-e-telnet.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/92383.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/92383.aspx</trackback:ping>
        </item>
        <item>
            <title>[Daily Issue] Javascript, Virtual Earth e documentazione</title>
            <link>http://blogs.ugidotnet.org/Box/archive/2008/03/21/daily-issue-javascript-virtual-earth-e-documentazione.aspx</link>
            <description>&lt;p&gt;Per chi avesse seguito i miei ultimi post, sto lavorando tantissimo in questo periodo con le tecnologie Live. Virtual Earth, Gadget, Live Agent e chi piu ne ha piu ne metta.&lt;/p&gt;  &lt;p&gt;Di tutte queste tecnologie, quella che piu mi affascina è sicuramente Virtual Earth, per la velocità con cui ha saputo colmare quasi completamente l'enorme gap che lo divideva da Google Maps, e per la gamma di implementazioni che offre.&lt;/p&gt;  &lt;p&gt;Purtroppo, qualche buco c'è e come già dissi tempo fa, la mancanza di un Interactive Sdk valido mi obbliga spesso ad andare a vedere direttamente MSDN e controllarmi firme e oggetti.    &lt;br /&gt;In questi giorni pasquali sono riuscito a perdere qualche ora per cercare se ci fosse un metodo meno idispendioso per fare le cose "di tutti i giorni" utilizzando Virtual Earth ed ho trovato questo:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/keithkin/archive/2008/02/26/visual-studio-2008-intellisense-for-virtual-earth-map-control.aspx" href="http://blogs.msdn.com/keithkin/archive/2008/02/26/visual-studio-2008-intellisense-for-virtual-earth-map-control.aspx" target="_blank"&gt;Intellisense For virtual Earth Map control&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Che dire.... se come me ci lavorate parecchio, non potete non installarlo :)&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/Box/aggbug/91813.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Alessandro Ghizzardi</dc:creator>
            <guid>http://blogs.ugidotnet.org/Box/archive/2008/03/21/daily-issue-javascript-virtual-earth-e-documentazione.aspx</guid>
            <pubDate>Fri, 21 Mar 2008 15:32:26 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/Box/comments/91813.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/Box/archive/2008/03/21/daily-issue-javascript-virtual-earth-e-documentazione.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/Box/comments/commentRss/91813.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/Box/services/trackbacks/91813.aspx</trackback:ping>
        </item>
    </channel>
</rss>