<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>idunno.org</title>
        <link>http://idunno.org/Default.aspx</link>
        <description>now with extra subtext goodness</description>
        <language>en-GB</language>
        <copyright>Barry Dorrans</copyright>
        <generator>Subtext Version 2.1.0.5</generator>
        <image>
            <title>idunno.org</title>
            <url>http://idunno.org/images/RSS2Image.gif</url>
            <link>http://idunno.org/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>I finally make it onto Herding Code</title>
            <link>http://idunno.org/archive/2010/03/05/i-finally-make-it-onto-herding-code.aspx</link>
            <description>&lt;p&gt;Now that I can track &lt;a href="http://www.lazycoder.com/weblog/"&gt;Scott Koon&lt;/a&gt; down as I’m in the same city and there’s a chance I could ambush &lt;a href="http://weblogs.asp.net/jgalloway/"&gt;Jon Galloway&lt;/a&gt; when he ventures onto campus they let me appear on &lt;a href="http://herdingcode.com/?p=243"&gt;Herding Code&lt;/a&gt;. Luckily Jon probably has a better idea of what isn’t a sensible thing for a newly minted MS employee to say, so I’m hoping there’s been lots of editing. Lots and lots of editing … having said that it’s still over 1 hour long.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8e93ea8f-a38f-4250-b5e6-e63fe4fb87b6" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/HerdingCode" rel="tag"&gt;HerdingCode&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/528.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/03/05/i-finally-make-it-onto-herding-code.aspx</guid>
            <pubDate>Fri, 05 Mar 2010 23:16:26 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/528.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/03/05/i-finally-make-it-onto-herding-code.aspx#feedback</comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/528.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Book Errata &amp;ndash; Erratum #2</title>
            <category>Beginning ASP.NET Security</category>
            <link>http://idunno.org/archive/2010/03/05/book-errata-ndash-erratum-2.aspx</link>
            <description>&lt;p&gt;Wrox will be offering an official errata on the &lt;a href="http://www.wrox.com/WileyCDA/WroxTitle/Beginning-ASP-NET-Security.productCd-0470743654.html"&gt;book’s page&lt;/a&gt; soon.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The index refers to XMLTs with a reference to page 234 , that page correctly calls them XSLTs.&lt;/li&gt;    &lt;li&gt;On page 128 comments in the sample code misspell encryption as “encyrption”.&lt;/li&gt;    &lt;li&gt;Figure 6.2 on page 133, diagrams asymmetric encryption not symmetric encryption as the figure label states.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In other news Dan Maharry thinks &lt;a href="http://blog.hmobius.com/post/2010/03/04/ASPNET-40-Part-10-A-Handful-Of-Little-Things.aspx"&gt;the book is splendid&lt;/a&gt;.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ce512600-1468-4af0-97b4-ca5243fa872f" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Securing+ASP.NET" rel="tag"&gt;Securing ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Errata" rel="tag"&gt;Errata&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Wrox" rel="tag"&gt;Wrox&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/527.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/03/05/book-errata-ndash-erratum-2.aspx</guid>
            <pubDate>Fri, 05 Mar 2010 16:47:34 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/527.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/03/05/book-errata-ndash-erratum-2.aspx#feedback</comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/527.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Beginning ASP.NET Security is now available in the US</title>
            <category>Beginning ASP.NET Security</category>
            <category>Books</category>
            <link>http://idunno.org/archive/2010/03/02/beginning-asp.net-security-is-now-available-in-the-us.aspx</link>
            <description>&lt;p&gt;You can order it from &lt;a href="http://www.amazon.com/gp/product/0470743654?ie=UTF8&amp;amp;tag=barrdorr-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=0470743654"&gt;Amazon&lt;/a&gt; and it’s in stock. Even better because I had an American editor you’ll find a severe lack of the letter U in words and the abomination that is the &lt;a href="http://en.wikipedia.org/wiki/Serial_comma"&gt;Oxford Comma&lt;/a&gt; scattered throughout.&lt;/p&gt;  &lt;p&gt;In other news despite the continuous hobbit comments Alex Mackey, author of &lt;a href="http://apress.com/book/view/143022455x"&gt;Introducing .NET 4.0 with VS2010&lt;/a&gt; (&lt;a href="http://www.amazon.com/gp/product/143022455X?ie=UTF8&amp;amp;tag=barrdorr-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=390957&amp;amp;creativeASIN=143022455X"&gt;Amazon US&lt;/a&gt; / &lt;a href="http://www.amazon.co.uk/gp/product/143022455X?ie=UTF8&amp;amp;tag=httpidunnorg-21&amp;amp;linkCode=as2&amp;amp;camp=1634&amp;amp;creative=19450&amp;amp;creativeASIN=143022455X"&gt;Amazon UK&lt;/a&gt;) has &lt;a href="http://www.simpleisbest.co.uk/Blog/BlogEntryDetail/BeginningASP.netsecuritybyBarryDorrans/112"&gt;reviewed the book&lt;/a&gt; and said nice things, all without payment!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:41040a7e-e35c-44d9-9789-854e2b5f0da1" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Security" rel="tag"&gt;Security&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/526.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/03/02/beginning-asp.net-security-is-now-available-in-the-us.aspx</guid>
            <pubDate>Tue, 02 Mar 2010 19:45:22 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/526.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/03/02/beginning-asp.net-security-is-now-available-in-the-us.aspx#feedback</comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/526.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A developer&amp;rsquo;s guide to encryption</title>
            <category>Security</category>
            <category>C#</category>
            <category>Conferences</category>
            <link>http://idunno.org/archive/2010/02/07/a-developerrsquos-guide-to-encryption.aspx</link>
            <description>&lt;p&gt;And the recording, with interruptions is &lt;a href="http://vimeo.com/9241853"&gt;here&lt;/a&gt;&lt;/p&gt; &lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9241853&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9241853&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300" /&gt;&lt;/object&gt;  &lt;p&gt;&lt;a href="http://vimeo.com/9241853"&gt;Barry Dorrans’ hijacked encryption session at DDD8&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I’ve also seen some of the feedback. Some selected highlights include&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Barry was more funny than usually!&lt;/p&gt;    &lt;p&gt;I don't think I laughed so much as when the videos began in this session. Barry will be sorely missed yet he still managed to complete his session and coped well with the barrage of mickey-takes and corrective outbursts from Jon Skeet.&lt;/p&gt;    &lt;p&gt;Peerless Barry Dorrans, but why were those guys wearing Stephen Hawking T-shirts at the end?&lt;/p&gt;    &lt;p&gt;Shame the entertainment was interrupted by some guy speaking :-)&lt;/p&gt;    &lt;p&gt;High entertainment value, amazed Barry did as well as he did to continue all things considered :)&lt;/p&gt;    &lt;p&gt;I didn't like his presentation style so much - he kepy interrupting it with videos plugging his new book!&lt;/p&gt;    &lt;p&gt;Barry was entertaining as usual, and did a marvellous job of covering the topic, despite interruptions. He'll be missed.&lt;/p&gt;    &lt;p&gt;The speaker did an excellent job of continuing the presentation despite the 'conditions' he found himself in! A fun session although for a complete encryption noob, it went a bit fast. Some examples of how you would use the encryption would've been welcome.&lt;/p&gt;    &lt;p&gt;It was fun to watch the other DDD presenters take the mickey out of Barry. As lets face it, he deserves it. I think I may be scared for life watching him on the Crystal Maze though. I like the idea of burning his book though.&lt;/p&gt;    &lt;p&gt;Brilliant session, ruined by some guy interrupting and talking about "hashing", "encryption keys" and "condoms".. can the gentleman in question be banned for next year's event? Thanks. In all seriousness, it was a good overview of cryptography, and if it had been 3 weeks earlier it would have saved me quite a few hours of research on a few points :-)&lt;/p&gt;    &lt;p&gt;Covered some topics I only have a passing familiarity with, good to get some insight into various encryption methods and how to apply them. Good fun session, (including all the various pranks :)&lt;/p&gt;    &lt;p&gt;Barry is a marmite presenter, you either love his quirky style or .... It worked for me. The farewell video interuptions were amusing but as I'm not a community leader or in the 'gang' some of the in jokes were lost on me. Made me chuckle though.&lt;/p&gt;    &lt;p&gt;A fun session with the hijacking of his session by other members of the DDD team. What he did manage to show us was interesting.&lt;/p&gt;    &lt;p&gt;Good overview of the basics, humiliation of the speaker was hilarious!&lt;/p&gt;    &lt;p&gt;Talk was good and the session was a good laugh also. A topic I know a bit about but still some new and useful info.&lt;/p&gt;    &lt;p&gt;Very good session - as much for the comedy aspect as the content. Knew most of the crypto bits, so good to confirm that my knowledge appeared correct. One minor thing, his byte array comparison implementation that he showed isn't a secure implementation as a comparison failure would exit the function early - i.e. it does not compare every element. Therefore timing analysis of the code could allow leakage of the data being compared to (e.g. first 6 of 20 bytes correct). For more info see &lt;a href="http://codahale.com/a-lesson-in-timing-attacks/"&gt;http://codahale.com/a-lesson-in-timing-attacks/&lt;/a&gt; Comparison functions used in security features should have a fixed execution time and path - so that a comparison failure executes in the same time that a successful comparison does. Excellent fun session though - great to see the extra videos too!&lt;/p&gt;    &lt;p&gt;As ever a very humorous but serious, informative session from Barry, who coped remarkably well with various interruptions(which were excellent btw). Found this session very, very useful and am off to buy his book ;-) (Well was going to buy his book before the session anyway but Computer Manuals sold out). The UK Community is losing a great speaker and community lead, however I would like to wish Barry all the best of luck for his move Stateside.&lt;/p&gt;    &lt;p&gt;Mostly stuff I was already aware of, but useful to have it all in one package. The highlight was obviously Barry himself, who's clearly a softie in more than one sense. Thanks to all those who embarrassed him on camera.Barry Dorrans - the man, the legend. Knowing in advance that he was going to be disrupted I went into this not expecting to pick much up. But Barry's a rockstar and doesn't let stuff like that faze him - he manfully continued to present in the face of typos (his) and corrections to his code (by Jon Skeet). But I did pick up plenty - where you want to encrypt, you can just use a hash cos they're the same thing. You can reuse encryption keys, you just have to wash them out first.&lt;/p&gt;    &lt;p&gt;Aside from the spelling mistakes this was an excellent session on a difficult topic. Despite all the interruptions Barry managed to get through all the material and teach as well as entertain. A great way to end the day.&lt;/p&gt;    &lt;p&gt;A great session which delivered in many ways despite the multiple external interruptions. Commedic value was a great value add to this session. Barry continued like a pro despite it all. Good luck at your new job Barry.&lt;/p&gt;    &lt;p&gt;An entertaining and informative session. It has been 3 years since I've attended a lecture regarding ASP.NET / software security, I was unaware that using SHA1 was now suggested potentially unsafe! I had also not been salting my encryption as much as he suggested. Overall very useful, although also entertaining - with the mickey taking happening throughout the session! My only complaint was that I didn't get a free copy of his ASP.net security book! I was cold last night and needed something to burn on the fire.&lt;/p&gt;    &lt;p&gt;Coped well with presentation hijacks :) Really good overview of crypto services in .NET framework... sure there was some subliminal messages in there me needing his book.&lt;/p&gt; Barry did a good job considering the interruptions he had to handle. A great farewell to the only person to have spoken at every DDD event.    &lt;p&gt;I'd give him six stars for skills - that he kept going through such heckling was amazing. To be fair, I only went to see what would happen to him, as I've seen this talk before. &lt;/p&gt;    &lt;p&gt;Most entertaining session of the day, and the content was good too.&lt;/p&gt;    &lt;p&gt;a little too much messing around so we missed alot of the session saying goodbye to barry!!! &lt;/p&gt;    &lt;p&gt;I definitely liked this! Do I have to go Seattle for more of this??!!!&lt;/p&gt;    &lt;p&gt;I've already covered most of this loads of times at Uni, and have seen Barrys presentation before, so it was not overly useful to me! It was great fun however and always good to have a refresher. I wish Barry good luck in Redmond!&lt;/p&gt;    &lt;p&gt;Barry gave himself an excellent leaving presentation, he did very well except the spelling mistakes (haha) and still managed to put on an excellent session even though the screens were hijacked multiple times. Bought Barry's book. Makes good kindling.&lt;/p&gt;    &lt;p&gt;An excellent session, improved even further by the various japes that occurred during it :-D&lt;/p&gt;    &lt;p&gt;Hard to judge based on the interruptions, but he still managed to get through the entire presentation so I consider that to be job done! A wide range of topics covered and I certainly learned a few things. I might even go and buy the book. Maybe.&lt;/p&gt;    &lt;p&gt;While Crystal Maze is self-evidently entertaining, the many interjections for MVP in-jokes wore a bit thin.&lt;/p&gt;    &lt;p&gt;A little hard to concentrate because of all of the jokes flying around but I'm glad it was a good send off :-) &lt;/p&gt;    &lt;p&gt;I'll miss Barry Dorrans&lt;/p&gt;    &lt;p&gt;A bit side tracked by Barrys leaving do. This presentation was very similar to the one he gave at WebDDD so I didnt really learn anything new to be honest&lt;/p&gt;    &lt;p&gt;Fun talk, again great presentation skills, but a lot of this wasn't new to me, so less useful - not really a criticism though. Very enjoyable, would def. look at buying the book as a result too.&lt;/p&gt;    &lt;p&gt;Great send off. Well done Barry and all the other DDD team for making us laugh!&lt;/p&gt;    &lt;p&gt;One of the highlight of the day, fun session on a hard to digest topic&lt;/p&gt;    &lt;p&gt;The presentation itself was a very good overview which somehow ramped from simple hashes to complex handshake and encryption algorithms without getting anyone lost. Pity it was so frequently interrupted as it was fascinating, but it was also funny regardless.&lt;/p&gt;    &lt;p&gt;A think he was side-tracked due to him going across the pond. I would have liked to have seen more usefull content. (e.g.) how to approach web site security like a bank would? Not just going through the menu of Encrption techniques. Show an example of why or when these techniques would/wouldn't be used in the real world. We are all concerned with security, and I really wanted to gain something from this session. I suppose I will just have to buy Barry's book and hope he's covered it there. Not to waffle on, Barry is a great and funny guy.&lt;/p&gt;    &lt;p&gt;This was a very interesting session and made more enjoyable by the good luck/goodbye messages from his fellow speakers. I'm sure Barry will be missed.&lt;/p&gt;    &lt;p&gt;Impressive that Barry kept going even though he kept getting interrupted. :) &lt;/p&gt;    &lt;p&gt;Definitely the most fun session of the day, mainly due to the gags in between Barry's slides! It was a great end to the event. However, anyone trying to follow the content of his talk would have found it difficult.&lt;/p&gt;    &lt;p&gt;I saw Barry last year as DDD, and was impressed with the tone and pace of the presentation, i left feeling empowered and entertained at the same time. I felt this time round that the presentation hadnt changed much, and not much though had gone into it. I appreciate Barry has been writing a book and look forward to buying my gran a copy to keep her warm this winter.(joke) It will be a shame to see Barry go to Seattle and therefore lose his spot at DDD hes a very talented guy (even if a little egocentric)&lt;/p&gt;    &lt;p&gt;Actually, against the odds, Barry managed to get in some useful information on encryption. I'd have liked a bit more focus on the usage scenarios and less on the mechanics. And why so many references to WCF? It's not like anyone uses it...&lt;/p&gt; Could have done with showing applications of the examples in the real world rather than just the factual examples.    &lt;p&gt;Great presentation, I obtained a lot of knowledge from this session and it answered my questions around XML encryption&lt;/p&gt;    &lt;p&gt;I also enjoyed this session. great introduction to .net cryptography. I found it very informative. Maybe a bit more content could have been given due to interuptions.&lt;/p&gt;    &lt;p&gt;I think this session was the most entertaining one but it wasn't more useful since most of the time it presents coding rather than how we can use encryption in real world&lt;/p&gt;    &lt;p&gt;Besides the interruptions, this session had a good level of beginner encryption knowledge. It is hard not to take something away from even such a light touch on the world. Obviously, it is hard to say "This must be done this way" as security is so personal to the project but some real world cases might have made the details more self explanatory. &lt;/p&gt;    &lt;p&gt;Sorry, I found picking up the subject matter (which I was looking forward to) drowned out by the constant interuptions.&lt;/p&gt;    &lt;p&gt;It is a shame Barry will not be able to speak at future events&lt;/p&gt;    &lt;p&gt;Bye bye Barry, come back next year ;-) The interludes were funny.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So yes, I apologise for the interruptions – I had expected something, just not during the presentation. For those of you that tried hard to get something out of and failed I’ll be willing to do a series of blog posts, just tell me what you want in the comments and as I get organised in Redmond I’ll start a little blog series around the topic. I am a little confused by those who say they’ve seen it before – it was a brand new presentation. Weird!&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7fe103e4-c0ca-48c2-aa39-18689aae570a" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/%23ddd8" rel="tag"&gt;#ddd8&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/525.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/02/07/a-developerrsquos-guide-to-encryption.aspx</guid>
            <pubDate>Sun, 07 Feb 2010 14:49:24 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/525.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/02/07/a-developerrsquos-guide-to-encryption.aspx#feedback</comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/525.aspx</wfw:commentRss>
        </item>
        <item>
            <title>On the importance of checking inputs</title>
            <category>Security</category>
            <link>http://idunno.org/archive/2010/02/07/on-the-importance-of-checking-inputs.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://idunno.org/images/idunno_org/WindowsLiveWriter/Ontheimportanceofcheckinginputs_3E0E/07-02-2010%2004-22-03_2.png" rel="lightbox"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 5px 5px 0px; display: inline; border-top: 0px; border-right: 0px" title="User input is evil" border="0" alt="User input is evil" align="left" src="http://idunno.org/images/idunno_org/WindowsLiveWriter/Ontheimportanceofcheckinginputs_3E0E/07-02-2010%2004-22-03_thumb.png" width="240" height="198" /&gt;&lt;/a&gt; So by now we should all know that using user input in a web page and spitting it back out again without encoding it is a bad idea and leads to cross site scripting. Of course some web sites don’t bother, which leads to hilarity such as the Toyota Ireland recall page, as demonstrated &lt;a href="http://www.toyota.ie/recall/results/?s=y&amp;amp;r=06D67021%20is%20absolutely%20fucked%20and%20is%20probably%20already%20exploding%20in%20your%20face%20right%20now.%20Worry%20not%20though,%20we%27ll%20give%20you%20a%20Datsun%20as%20a%20replacement%20though%20the%20Green%20Party%20want%20us%20to%20suggest%20some%20crappy%20rental%20Dublin%20Bike%20instead.%20Why%20not%20%3Ca%20href=%22http://www.irishscrappage.ie%22%3EBuy%20a%20Renault%3C/a%3E%20instead?%20%3Cimg%20src=%22http://www.irishscrappage.ie/images/index/mini-scrappage-graphic2.jpg%22%3E%20%20So%20yes%20sucker%20your%20rustbucket"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;All the HTML encoding in the world won’t save you if you’re not constraining and validating your input … (although Toyota aren’t even bothering with encoding – you can embed script in the r parameter for that page)&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e99152b9-6152-44b1-b735-97cf4d12fe46" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Input" rel="tag"&gt;Input&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Security" rel="tag"&gt;Security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/XSS" rel="tag"&gt;XSS&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/524.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/02/07/on-the-importance-of-checking-inputs.aspx</guid>
            <pubDate>Sun, 07 Feb 2010 12:29:26 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/524.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/02/07/on-the-importance-of-checking-inputs.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/524.aspx</wfw:commentRss>
        </item>
        <item>
            <title>And this is why I&amp;rsquo;ll miss the UK .NET community</title>
            <category>Conferences</category>
            <link>http://idunno.org/archive/2010/02/05/and-this-is-why-irsquoll-miss-the-uk-.net-community.aspx</link>
            <description>&lt;p&gt;A &lt;strike&gt;tight little bunch of nits&lt;/strike&gt; … tightly nit bunch. I’d suggest if you’re waiting for the video of my DDD8 session you forget it. The good bits – the interruptions are below …&lt;/p&gt; &lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9205053&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9205053&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300" /&gt;&lt;/object&gt;  &lt;p&gt;&lt;a href="http://vimeo.com/9205053"&gt;Plip's Book Advert&lt;/a&gt;.&lt;/p&gt; &lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9205726&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9205726&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300" /&gt;&lt;/object&gt;  &lt;p&gt;&lt;a href="http://vimeo.com/9205726"&gt;Liam's Eulogy&lt;/a&gt;.&lt;/p&gt; &lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9205478&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9205478&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300" /&gt;&lt;/object&gt;  &lt;p&gt;&lt;a href="http://vimeo.com/9205478"&gt;Colin Mackay's new source of presentations&lt;/a&gt;.&lt;/p&gt; &lt;object width="400" height="300"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9205839&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=9205839&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300" /&gt;&lt;/object&gt;  &lt;p&gt;&lt;a href="http://vimeo.com/9205839"&gt;Craig Murphy insulting not one but two ex-UK community folks&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;It is with a heavy heart, for various reasons, that I’m boarding the Microsoft big white taxi from Heathrow this afternoon. Obviously I’m going to miss family, but the UK .NET community has been part of my life for &lt;strike&gt;too long&lt;/strike&gt; a very long time now and contains a great many friends and one soulless ginger northern git who I will miss a lot. Of course I’ll still be abusing them on twitter and I hope that the stuff I am working on will provide me with enough ammunition to speak at TechEd and any other conference that will have me … it’s a whole new continent of conference organisers who don’t know me at all and thus who don’t know what they’re letting themselves in for …&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:dc9e0384-7876-431a-a714-a2f847794ae8" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DDD8" rel="tag"&gt;DDD8&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/523.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/02/05/and-this-is-why-irsquoll-miss-the-uk-.net-community.aspx</guid>
            <pubDate>Fri, 05 Feb 2010 08:38:08 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/523.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/02/05/and-this-is-why-irsquoll-miss-the-uk-.net-community.aspx#feedback</comments>
            <slash:comments>14</slash:comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/523.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Blue Lego isn&amp;rsquo;t all bad&amp;hellip;</title>
            <link>http://idunno.org/archive/2010/02/01/blue-lego-isnrsquot-all-badhellip.aspx</link>
            <description>&lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="brick" border="0" alt="brick" align="left" src="http://idunno.org/images/idunno_org/WindowsLiveWriter/BlueLegoisntallbad_9EE1/brick_3.png" width="42" height="40" /&gt; A poor Adobe employee is &lt;a href="http://theflashblog.com/?p=1703"&gt;throwing its toys out of the iPram&lt;/a&gt; right now over the lack of flash support on the iPad. However that little plug brick has one major advantage … for a change on the iPhone Apple appear to have done a reasonable job on security (although with their tight-lipped approach to discussing security it’s hard to tell). Adobe on the other hand, well … Acrobat is the major vector for drive by malware right now, Flash has its own problems and the Shockwave security update last month had users uninstalling old versions and then installing new versions manually. It’s not a little blue brick people, it’s a little blue condom …&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:26ddf5f2-15d9-4ec1-84f2-755843f009f6" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Apple" rel="tag"&gt;Apple&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Adobe" rel="tag"&gt;Adobe&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/522.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/02/01/blue-lego-isnrsquot-all-badhellip.aspx</guid>
            <pubDate>Mon, 01 Feb 2010 11:24:32 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/522.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/02/01/blue-lego-isnrsquot-all-badhellip.aspx#feedback</comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/522.aspx</wfw:commentRss>
        </item>
        <item>
            <title>DDD8 &amp;ndash; A Developer&amp;rsquo;s Guide to Encryption</title>
            <category>Conferences</category>
            <category>Security</category>
            <link>http://idunno.org/archive/2010/01/30/a-developers-guide-to-encryption.aspx</link>
            <description>&lt;p&gt;Today was &lt;a href="http://www.developerdeveloperdeveloper.com/ddd8/"&gt;DDD8&lt;/a&gt;, the last DDD event I can do because the rules exclude MS employees from speak and in 10 days time I will be in that category. I presented “&lt;a href="http://idunno.org/presentations/ddd8/A%20Developers%20Guide%20to%20Encryption.pptx"&gt;A Developer’s Guide to Encryption&lt;/a&gt;” (&lt;a href="http://idunno.org/presentations/ddd8/A%20Developers%20Guide%20to%20Encryption.pptx"&gt;PowerPoint&lt;/a&gt;/&lt;a href="http://idunno.org/presentations/ddd8/ddd8.zip"&gt;Sample Code&lt;/a&gt;) running through the main options developers have in .NET for cryptography. (The powerpoint deck should have all the spelling checks fixed. I swear those weren’t there on Wednesday when I finished … but I can’t see how anyone could have knobbled it, so I must have just been very fat fingered!)&lt;/p&gt;  &lt;p&gt;I’m rather sad to leave DDD behind, I’ve presented at every one of the main DDD events, plus all the DDD Scotland events, the two WebDD and started and organised two DDD events in Ireland. However this does mean I have enough DDD speaker shirts to wear them to work for 2 weeks without having to wash anything …&lt;/p&gt;  &lt;p&gt;I should apologise to anyone who expected a sane presentation from me. 10 minutes into the talk the screen was hijacked to have a community member reading poems and eulogising my loss. Jon Skeet’s spotting of code errors were side amusements! These interruptions became more frequent as time wore on culminating in a border of my book courtesy of Phil Winstanley. Then there were the t-shirts with a screen shot from my Crystal Maze appearance on some community members. Poor Ben Hall in the next room had problems as each time my screen was hijacked, his speakers got hijacked too. Then there was my book cover appearing in everyone’s presentations, except Gary Short’s who commented the community would be better off without me … Gosh, maybe I won’t miss these lot. nxtgen also presented me with a “&lt;a href="http://www.flickr.com/photos/blowdart/4317219998/"&gt;nxtgen lifetime achievement award&lt;/a&gt;” which I will place on my shelf in my office once it arrives with the rest of my stuff.&lt;/p&gt;  &lt;p&gt;Tweets of the occasion included&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;On another &lt;a href="http://twitter.com/search?q=%23ddd8"&gt;#ddd8&lt;/a&gt; related note, @&lt;a href="http://twitter.com/blowdart"&gt;blowdart&lt;/a&gt; got a sendoff he won't soon forget. Even with therapy. :)&lt;/p&gt;    &lt;p&gt;Major embarass @&lt;a href="http://twitter.com/blowdart"&gt;blowdart&lt;/a&gt; session!&lt;/p&gt;    &lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;An amazing start to the security presentation with the projector being taken over and appropriate @&lt;a href="http://twitter.com/blowdart"&gt;blowdart&lt;/a&gt; abuse dished out&lt;/p&gt;    &lt;p&gt;Watching @&lt;a href="http://twitter.com/blowdart"&gt;blowdart&lt;/a&gt; burn his bridges during his final DDD talk. Hard to take topic seriously at the moment :)&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Peter Curd has a little of an audience reaction on &lt;a href="http://pcurd.co.uk/?p=92"&gt;his blog&lt;/a&gt;. Ian has also &lt;a href="http://irascianwork.blogspot.com/2010/01/ddd8-at-microsoft-campus-reading.html"&gt;written up the day&lt;/a&gt;, as has &lt;a href="http://www.peat.me.uk/2010/01/30/ddd8-apples-boots-and-blowdart/"&gt;Richard&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;The photos I took are on &lt;a href="http://www.flickr.com/photos/blowdart/sets/72157623190688525/"&gt;flickr&lt;/a&gt;, some of the highlights are below&lt;/p&gt;  &lt;p&gt;&lt;a title="As approved by Jon Skeet! by blowdart, on Flickr" href="http://www.flickr.com/photos/blowdart/4317207840/"&gt;&lt;img alt="As approved by Jon Skeet!" src="http://farm5.static.flickr.com/4034/4317207840_ae5f00428f_s.jpg" width="75" height="75" /&gt;&lt;/a&gt; &lt;a title="Jon shows why he bought the book by blowdart, on Flickr" href="http://www.flickr.com/photos/blowdart/4316475427/"&gt;&lt;img alt="Jon shows why he bought the book" src="http://farm5.static.flickr.com/4037/4316475427_26b5212f70_s.jpg" width="75" height="75" /&gt;&lt;/a&gt; &lt;a title="Munchkin's leaving present. Awww! by blowdart, on Flickr" href="http://www.flickr.com/photos/blowdart/4317195840/"&gt;&lt;img alt="Munchkin's leaving present. Awww!" src="http://farm5.static.flickr.com/4001/4317195840_f0464d7203_s.jpg" width="75" height="75" /&gt;&lt;/a&gt; &lt;a title="Unhappy plip and his mispelt surname by blowdart, on Flickr" href="http://www.flickr.com/photos/blowdart/4316450513/"&gt;&lt;img alt="Unhappy plip and his mispelt surname" src="http://farm3.static.flickr.com/2775/4316450513_8556ae19b8_s.jpg" width="75" height="75" /&gt;&lt;/a&gt; &lt;a title="My nxtgen lifetime achievement award by blowdart, on Flickr" href="http://www.flickr.com/photos/blowdart/4317219998/"&gt;&lt;img alt="My nxtgen lifetime achievement award" src="http://farm3.static.flickr.com/2796/4317219998_28e0f6cc77_s.jpg" width="75" height="75" /&gt;&lt;/a&gt; &lt;a title="Liam, modelling in his Barry t-shirt by blowdart, on Flickr" href="http://www.flickr.com/photos/blowdart/4316493131/"&gt;&lt;img alt="Liam, modelling in his Barry t-shirt" src="http://farm3.static.flickr.com/2782/4316493131_e58427b228_s.jpg" width="75" height="75" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p /&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ed9e95f6-090e-4e6b-bc68-50f7287e14bb" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/DDD8" rel="tag"&gt;DDD8&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Cryptography" rel="tag"&gt;Cryptography&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Encryption" rel="tag"&gt;Encryption&lt;/a&gt;,&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/C%23" rel="tag"&gt;C#&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/521.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/01/30/a-developers-guide-to-encryption.aspx</guid>
            <pubDate>Sat, 30 Jan 2010 22:07:10 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/521.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/01/30/a-developers-guide-to-encryption.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/521.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Book Errata &amp;ndash; Erratum #1</title>
            <category>Books</category>
            <category>Beginning ASP.NET Security</category>
            <link>http://idunno.org/archive/2010/01/27/book-errata-1.aspx</link>
            <description>&lt;p&gt;#1 of what will be doubtless many. Right now I’ve started to put things away, so I don’t know when I’ll have the ability to produce a proper errata to Wrox requirements, so rather than have you struggle I’m posting the correction(s) here.&lt;/p&gt;  &lt;p&gt;Listing 10-11 on page 251 is incorrect, and if ran no X509 signing certificate will be extracted, although the XML signature will be verified. The code should be as follows:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: blue"&gt;public static bool &lt;/span&gt;VerifySignature(XmlDocument document, &lt;span style="color: blue"&gt;out &lt;/span&gt;X509Certificate signingCertificate)
{
    &lt;span style="color: green"&gt;// Create a new SignedXml object and load
    // the signed XML document.
    &lt;/span&gt;SignedXml signedXml = &lt;span style="color: blue"&gt;new &lt;/span&gt;SignedXml(document);

    &lt;span style="color: green"&gt;// Find the "Signature" node and create a new
    // XmlNodeList object.
    &lt;/span&gt;XmlNodeList nodeList = document.GetElementsByTagName(&lt;span style="color: #a31515"&gt;"Signature"&lt;/span&gt;);
    &lt;span style="color: blue"&gt;if &lt;/span&gt;(nodeList.Count &amp;lt;= 0)
    {
        &lt;span style="color: blue"&gt;throw new &lt;/span&gt;CryptographicException(&lt;span style="color: #a31515"&gt;"No signature found."&lt;/span&gt;);
    }

    &lt;span style="color: green"&gt;// Load the first &amp;lt;signature&amp;gt; node.
    &lt;/span&gt;signedXml.LoadXml((XmlElement)nodeList[0]);

    signingCertificate = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
    &lt;/pre&gt;

&lt;pre class="code"&gt;    &lt;span style="color: green"&gt;// Extract the signing certificate.
    &lt;/span&gt;&lt;span style="color: blue"&gt;foreach &lt;/span&gt;(KeyInfoClause keyInfoClause &lt;span style="color: blue"&gt;in &lt;/span&gt;signedXml.KeyInfo)
    {
        &lt;span style="color: blue"&gt;if &lt;/span&gt;(!(keyInfoClause &lt;span style="color: blue"&gt;is &lt;/span&gt;KeyInfoX509Data))
        {
            &lt;span style="color: blue"&gt;continue&lt;/span&gt;;
        }

        KeyInfoX509Data keyInfoX509Data = keyInfoClause &lt;span style="color: blue"&gt;as &lt;/span&gt;KeyInfoX509Data;
        &lt;span style="color: blue"&gt;if &lt;/span&gt;((keyInfoX509Data.Certificates != &lt;span style="color: blue"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (keyInfoX509Data.Certificates.Count == 1))
        {
            signingCertificate = (X509Certificate)keyInfoX509Data.Certificates[0];
        }
    }
    
    &lt;span style="color: green"&gt;// Check the signature.
    &lt;/span&gt;&lt;span style="color: blue"&gt;return &lt;/span&gt;signedXml.CheckSignature();
}&lt;/pre&gt;

&lt;p&gt; &lt;/p&gt;

&lt;p&gt;Apologies for that, I can only blame my fat fingers as I cut and pasted into Word.&lt;/p&gt;

&lt;p&gt;(I’ve edited the title because Jon Skeet {yes, that Jon Skeet} is &lt;a href="http://twitter.com/jonskeet/status/8296743828"&gt;a pedant&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;
  &lt;/p&gt;&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:803efee3-edf9-4dfb-a15b-2a48073e815c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Securing+ASP.NET" rel="tag"&gt;Securing ASP.NET&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Errata" rel="tag"&gt;Errata&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Wrox" rel="tag"&gt;Wrox&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/520.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/01/27/book-errata-1.aspx</guid>
            <pubDate>Wed, 27 Jan 2010 21:51:26 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/520.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/01/27/book-errata-1.aspx#feedback</comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/520.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Beginning ASP.NET Security Table of Contents</title>
            <category>Books</category>
            <category>C#</category>
            <category>ASP.NET</category>
            <category>Security</category>
            <category>Beginning ASP.NET Security</category>
            <link>http://idunno.org/archive/2010/01/27/beginning-asp.net-security-table-of-contents.aspx</link>
            <description>&lt;p&gt;A few people have been asking for the table of contents for Beginning ASP.NET Security so here it is;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;CHAPTER 1: WHY WEB SECURITY MATTERS      &lt;ul&gt;       &lt;li&gt;Anatomy of an Attack &lt;/li&gt;        &lt;li&gt;Risks and Rewards &lt;/li&gt;        &lt;li&gt;Building Security from the Ground Up          &lt;ul&gt;           &lt;li&gt;Defense in Depth &lt;/li&gt;            &lt;li&gt;Never Trust Input &lt;/li&gt;            &lt;li&gt;Fail Gracefully &lt;/li&gt;            &lt;li&gt;Watch for Attacks &lt;/li&gt;            &lt;li&gt;Use Least Privilege &lt;/li&gt;            &lt;li&gt;Firewalls and Cryptography Are Not a Panacea &lt;/li&gt;            &lt;li&gt;Security Should Be Your Default State &lt;/li&gt;            &lt;li&gt;Code Defensively &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;The OWASP Top Ten &lt;/li&gt;        &lt;li&gt;Moving Forward &lt;/li&gt;        &lt;li&gt;Checklists &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 2: HOW THE WEB WORKS      &lt;ul&gt;       &lt;li&gt;Examining HTTP          &lt;ul&gt;           &lt;li&gt;Requesting a Resource &lt;/li&gt;            &lt;li&gt;Responding to a Request &lt;/li&gt;            &lt;li&gt;Sniffing HTTP Requests and Responses &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Understanding HTML Forms &lt;/li&gt;        &lt;li&gt;Examining How ASP.NET Works          &lt;ul&gt;           &lt;li&gt;Understanding How ASP.NET Events Work &lt;/li&gt;            &lt;li&gt;Examining the ASP.NET Pipeline &lt;/li&gt;            &lt;li&gt;Writing HTTP Modules &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Summary &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 3: SAFELY ACCEPTING USER INPUT      &lt;ul&gt;       &lt;li&gt;Defining Input &lt;/li&gt;        &lt;li&gt;Dealing with Input Safely          &lt;ul&gt;           &lt;li&gt;Echoing User Input Safely &lt;/li&gt;            &lt;li&gt;Mitigating Against XSS &lt;/li&gt;            &lt;li&gt;The Microsoft Anti-XSS Library              &lt;ul&gt;               &lt;li&gt;The Security Run-time Engine &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Constraining Input &lt;/li&gt;            &lt;li&gt;Protecting Cookies &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Validating Form Input          &lt;ul&gt;           &lt;li&gt;Validation Controls &lt;/li&gt;            &lt;li&gt;Standard ASP.NET Validation Controls              &lt;ul&gt;               &lt;li&gt;Using the RequiredFieldValidator &lt;/li&gt;                &lt;li&gt;Using the RangeValidator &lt;/li&gt;                &lt;li&gt;Using the RegularExpressionValidator &lt;/li&gt;                &lt;li&gt;Using the CompareValidator &lt;/li&gt;                &lt;li&gt;Using the CustomValidator &lt;/li&gt;                &lt;li&gt;Validation Groups &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Handling Input &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 4: USING QUERY STRINGS, FORM FIELDS, EVENTS, AND BROWSER INFORMATION      &lt;ul&gt;       &lt;li&gt;Using the Right Input Type &lt;/li&gt;        &lt;li&gt;Query Strings &lt;/li&gt;        &lt;li&gt;Form Fields &lt;/li&gt;        &lt;li&gt;Request Forgery and How to Avoid It          &lt;ul&gt;           &lt;li&gt;Mitigating Against CSRF &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Protecting ASP.NET Events &lt;/li&gt;        &lt;li&gt;Avoiding Mistakes with Browser Information &lt;/li&gt;        &lt;li&gt;A Checklist for Query Strings, Forms, Events, and Browser Information &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 5: CONTROLLING INFORMATION      &lt;ul&gt;       &lt;li&gt;Controlling ViewState          &lt;ul&gt;           &lt;li&gt;Validating ViewState &lt;/li&gt;            &lt;li&gt;Encrypting ViewState &lt;/li&gt;            &lt;li&gt;Protecting Against ViewState One-Click Attacks &lt;/li&gt;            &lt;li&gt;Removing ViewState from the Client Page &lt;/li&gt;            &lt;li&gt;Disabling Browser Caching &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Error Handling and Logging          &lt;ul&gt;           &lt;li&gt;Improving Your Error Handling &lt;/li&gt;            &lt;li&gt;Watching for Special Exceptions &lt;/li&gt;            &lt;li&gt;Logging Errors and Monitoring Your Application &lt;/li&gt;            &lt;li&gt;Using the Windows Event Log &lt;/li&gt;            &lt;li&gt;Using Email to Log Events &lt;/li&gt;            &lt;li&gt;Using ASP.NET Tracing &lt;/li&gt;            &lt;li&gt;Using Performance Counters &lt;/li&gt;            &lt;li&gt;Using WMI Events &lt;/li&gt;            &lt;li&gt;Another Alternative: Logging Frameworks &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Limiting Search Engines          &lt;ul&gt;           &lt;li&gt;Controlling Robots with a Metatag &lt;/li&gt;            &lt;li&gt;Controlling Robots with robots.txt &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Protecting Passwords in Config Files &lt;/li&gt;        &lt;li&gt;A Checklist for Query Strings, Forms, Events and Browser Information &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 6: KEEPING SECRETS SECRET — HASHING AND ENCRYPTION      &lt;ul&gt;       &lt;li&gt;Protecting Integrity with Hashing          &lt;ul&gt;           &lt;li&gt;Choosing a Hashing Algorithm &lt;/li&gt;            &lt;li&gt;Protecting Passwords with Hashing              &lt;ul&gt;               &lt;li&gt;Salting Passwords &lt;/li&gt;                &lt;li&gt;Generating Secure Random Numbers &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Encrypting Data          &lt;ul&gt;           &lt;li&gt;Understanding Symmetric Encryption              &lt;ul&gt;               &lt;li&gt;Protecting Data with Symmetric Encryption &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Sharing Secrets with Asymmetric Encryption              &lt;ul&gt;               &lt;li&gt;Using Asymmetric Encryption without Certificates &lt;/li&gt;                &lt;li&gt;Using Certificates for Asymmetric Encryption &lt;/li&gt;                &lt;li&gt;Getting a Certificate &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Using the Windows DPAPI &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Encryption &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 7: ADDING USERNAMES AND PASSWORDS      &lt;ul&gt;       &lt;li&gt;Authentication and Authorization &lt;/li&gt;        &lt;li&gt;Discovering Your Own Identity &lt;/li&gt;        &lt;li&gt;Adding Authentication in ASP.NET          &lt;ul&gt;           &lt;li&gt;Using Forms Authentication              &lt;ul&gt;               &lt;li&gt;Configuring Forms Authentication &lt;/li&gt;                &lt;li&gt;Using SQL as a Membership Store &lt;/li&gt;                &lt;li&gt;Creating Users &lt;/li&gt;                &lt;li&gt;Examining How Users Are Stored &lt;/li&gt;                &lt;li&gt;Configuring the Membership Settings &lt;/li&gt;                &lt;li&gt;Creating Users Programmatically &lt;/li&gt;                &lt;li&gt;Supporting Password Changes and Resets &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Windows Authentication              &lt;ul&gt;               &lt;li&gt;Configuring IIS for Windows Authentication &lt;/li&gt;                &lt;li&gt;Impersonation with Windows Authentication &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Authorization in ASP.NET          &lt;ul&gt;           &lt;li&gt;Examining &amp;lt;allow&amp;gt; and &amp;lt;deny&amp;gt; &lt;/li&gt;            &lt;li&gt;Role-Based Authorization              &lt;ul&gt;               &lt;li&gt;Configuring Roles with Forms Based Authentication &lt;/li&gt;                &lt;li&gt;Using the Configuration Tools to Manage Roles &lt;/li&gt;                &lt;li&gt;Managing Roles Programmatically &lt;/li&gt;                &lt;li&gt;Managing Role Members Programmatically &lt;/li&gt;                &lt;li&gt;Roles with Windows Authentication &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Limiting Access to Files and Folders &lt;/li&gt;            &lt;li&gt;Checking Users and Roles Programmatically              &lt;ul&gt;               &lt;li&gt;Securing Object References &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Authentication and Authorization &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 8: SECURELY ACCESSING DATABASES      &lt;ul&gt;       &lt;li&gt;Writing Bad Code: Demonstrating SQL Injection &lt;/li&gt;        &lt;li&gt;Fixing the Vulnerability &lt;/li&gt;        &lt;li&gt;More Security for SQL Server          &lt;ul&gt;           &lt;li&gt;Connecting Without Passwords              &lt;ul&gt;               &lt;li&gt;SQL Permissions &lt;/li&gt;                &lt;li&gt;Adding a User to a Database &lt;/li&gt;                &lt;li&gt;Managing SQL Permissions &lt;/li&gt;                &lt;li&gt;Groups and Roles &lt;/li&gt;                &lt;li&gt;Least Privilege Accounts &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Using Views &lt;/li&gt;            &lt;li&gt;SQL Express User Instances &lt;/li&gt;            &lt;li&gt;Drawbacks of the VS Built-in Web Server &lt;/li&gt;            &lt;li&gt;Dynamic SQL Stored Procedures &lt;/li&gt;            &lt;li&gt;Using SQL Encryption              &lt;ul&gt;               &lt;li&gt;Encrypting by Pass Phrase &lt;/li&gt;                &lt;li&gt;SQL Symmetric Encryption &lt;/li&gt;                &lt;li&gt;SQL Asymmetric Encryption &lt;/li&gt;                &lt;li&gt;Calculating Hashes and HMACs in SQL &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Securely Accessing Databases &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 9: USING THE FILE SYSTEM      &lt;ul&gt;       &lt;li&gt;Accessing Existing Files Safely          &lt;ul&gt;           &lt;li&gt;Making Static Files Secure              &lt;ul&gt;               &lt;li&gt;Checking That Your Application Can Access Files &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Making a File Downloadable and Setting Its Name &lt;/li&gt;            &lt;li&gt;Adding Further Checks to File Access              &lt;ul&gt;               &lt;li&gt;Adding Role Checks &lt;/li&gt;                &lt;li&gt;Anti-Leeching Checks &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Accessing Files on a Remote System &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Creating Files Safely &lt;/li&gt;        &lt;li&gt;Handling User Uploads          &lt;ul&gt;           &lt;li&gt;Using the File Upload Control &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Securely Accessing Files &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 10: SECURING XML      &lt;ul&gt;       &lt;li&gt;Validating XML          &lt;ul&gt;           &lt;li&gt;Well-Formed XML &lt;/li&gt;            &lt;li&gt;Valid XML &lt;/li&gt;            &lt;li&gt;XML Parsers &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Querying XML          &lt;ul&gt;           &lt;li&gt;Avoiding XPath Injection &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Securing XML Documents          &lt;ul&gt;           &lt;li&gt;Encrypting XML Documents              &lt;ul&gt;               &lt;li&gt;Using a Symmetric Encryption Key with XML &lt;/li&gt;                &lt;li&gt;Using an Asymmetric Key Pair to Encrypt and Decrypt XML &lt;/li&gt;                &lt;li&gt;Using an X509 Certifi cate to Encrypt and Decrypt XML &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Signing XML Documents &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for XML &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 11: SHARING DATA WITH WINDOWS COMMUNICATION FOUNDATION      &lt;ul&gt;       &lt;li&gt;Creating and Consuming WCF Services &lt;/li&gt;        &lt;li&gt;Security and Privacy with WCF          &lt;ul&gt;           &lt;li&gt;Transport Security &lt;/li&gt;            &lt;li&gt;Message Security &lt;/li&gt;            &lt;li&gt;Mixed Mode &lt;/li&gt;            &lt;li&gt;Selecting the Security Mode &lt;/li&gt;            &lt;li&gt;Choosing the Client Credentials &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Adding Security to an Internet Service &lt;/li&gt;        &lt;li&gt;Signing Messages with WCF &lt;/li&gt;        &lt;li&gt;Logging and Auditing in WCF &lt;/li&gt;        &lt;li&gt;Validating Parameters Using Inspectors &lt;/li&gt;        &lt;li&gt;Using Message Inspectors &lt;/li&gt;        &lt;li&gt;Throwing Errors in WCF &lt;/li&gt;        &lt;li&gt;A Checklist for Securing WCF &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 12: SECURING RICH INTERNET APPLICATIONS=      &lt;ul&gt;       &lt;li&gt;RIA Architecture &lt;/li&gt;        &lt;li&gt;Security in Ajax Applications          &lt;ul&gt;           &lt;li&gt;The XMLHttpRequest Object &lt;/li&gt;            &lt;li&gt;The Ajax Same Origin Policy &lt;/li&gt;            &lt;li&gt;The Microsoft ASP.NET Ajax Framework              &lt;ul&gt;               &lt;li&gt;Examining the UpdatePanel &lt;/li&gt;                &lt;li&gt;Examining the ScriptManager &lt;/li&gt;                &lt;li&gt;Security Considerations with UpdatePanel and ScriptManager &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Security in Silverlight Applications          &lt;ul&gt;           &lt;li&gt;Understanding the CoreCLR Security Model &lt;/li&gt;            &lt;li&gt;Using the HTML Bridge              &lt;ul&gt;               &lt;li&gt;Controlling Access to the HTML DOM &lt;/li&gt;                &lt;li&gt;Exposing Silverlight Classes and Members to the DOM &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Accessing the Local File System &lt;/li&gt;            &lt;li&gt;Using Cryptography in Silverlight &lt;/li&gt;            &lt;li&gt;Accessing the Web and Web Services with Silverlight &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Using ASP.NET Authentication and Authorization in Ajax and Silverlight &lt;/li&gt;        &lt;li&gt;A Checklist for Securing Ajax and Silverlight &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 13: UNDERSTANDING CODE ACCESS SECURITY      &lt;ul&gt;       &lt;li&gt;Understanding Code Access Security          &lt;ul&gt;           &lt;li&gt;Using ASP.NET Trust Levels              &lt;ul&gt;               &lt;li&gt;Demanding Minimum CAS Permissions &lt;/li&gt;                &lt;li&gt;Asking and Checking for CAS Permissions &lt;/li&gt;                &lt;li&gt;Testing Your Application under a New Trust Level &lt;/li&gt;                &lt;li&gt;Using the Global Assembly Cache to Run Code Under Full Trust &lt;/li&gt;                &lt;li&gt;.NET 4 Changes for Trust and ASP.NET &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Code not Under Full Trust &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 14: SECURING INTERNET INFORMATION SERVER (IIS)      &lt;ul&gt;       &lt;li&gt;Installing and Configuring IIS7          &lt;ul&gt;           &lt;li&gt;IIS Role Services              &lt;ul&gt;               &lt;li&gt;Removing Global Features for an Individual Web Site &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;            &lt;li&gt;Creating and Configuring Application Pools &lt;/li&gt;            &lt;li&gt;Configuring Trust Levels in IIS              &lt;ul&gt;               &lt;li&gt;Locking Trust Levels &lt;/li&gt;                &lt;li&gt;Creating Custom Trust Levels &lt;/li&gt;             &lt;/ul&gt;           &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Filtering Requests          &lt;ul&gt;           &lt;li&gt;Filtering Double-Encoded Requests &lt;/li&gt;            &lt;li&gt;Filtering Requests with Non-ASCII Characters &lt;/li&gt;            &lt;li&gt;Filtering Requests Based on File Extension &lt;/li&gt;            &lt;li&gt;Filtering Requests Based on Request Size &lt;/li&gt;            &lt;li&gt;Filtering Requests Based on HTTP Verbs &lt;/li&gt;            &lt;li&gt;Filtering Requests Based on URL Sequences &lt;/li&gt;            &lt;li&gt;Filtering Requests Based on Request Segments &lt;/li&gt;            &lt;li&gt;Filtering Requests Based on a Request Header &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Status Codes Returned to Denied Requests &lt;/li&gt;        &lt;li&gt;Using Log Parser to Mine IIS Log Files &lt;/li&gt;        &lt;li&gt;Using Certificates          &lt;ul&gt;           &lt;li&gt;Requesting an SSL Certificate &lt;/li&gt;            &lt;li&gt;Configuring a Site to Use HTTPS &lt;/li&gt;            &lt;li&gt;Setting up a Test Certification Authority &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;A Checklist for Securing Internet Information Server (IIS) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 15: THIRD-PARTY AUTHENTICATION      &lt;ul&gt;       &lt;li&gt;A Brief History of Federated Identity &lt;/li&gt;        &lt;li&gt;Using the Windows Identity Foundation to accept SAML and Information Cards          &lt;ul&gt;           &lt;li&gt;Creating a “Claims-Aware” Web Site &lt;/li&gt;            &lt;li&gt;Accepting Information Cards &lt;/li&gt;            &lt;li&gt;Working with a Claims Identity &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Using OpenID with Your Web Site &lt;/li&gt;        &lt;li&gt;Using Windows Live ID with Your Web Site &lt;/li&gt;        &lt;li&gt;A Strategy for Integrating Third-Party Authentication with Forms Authentication &lt;/li&gt;        &lt;li&gt;Summary &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;CHAPTER 16: SECURE DEVELOPMENT WITH THE ASP.NET MVC FRAMEWORK      &lt;ul&gt;       &lt;li&gt;MVC Input and Output          &lt;ul&gt;           &lt;li&gt;Protecting Yourself Against XSS &lt;/li&gt;            &lt;li&gt;Protecting an MVC Application Against CSRF &lt;/li&gt;            &lt;li&gt;Securing Model Binding &lt;/li&gt;            &lt;li&gt;Providing Validation for and Error Messages from Your Model &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Authentication and Authorization with ASP.NET MVC          &lt;ul&gt;           &lt;li&gt;Authorizing Actions and Controllers &lt;/li&gt;            &lt;li&gt;Protecting Public Controller Methods &lt;/li&gt;            &lt;li&gt;Discovering the Current User &lt;/li&gt;            &lt;li&gt;Customizing Authorization with an Authorization Filter &lt;/li&gt;         &lt;/ul&gt;       &lt;/li&gt;        &lt;li&gt;Error Handling with ASP.NET MVC &lt;/li&gt;        &lt;li&gt;A Checklist for Secure Development with the ASP.NET MVC Framework &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;INDEX &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I’ve cut and pasted this from proof PDFs, so any weird formatting errors are mine as I tried to turn this into HTML.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:45df3077-0190-47e5-9361-7afba9451da5" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Beginning+ASP.NET+Security" rel="tag"&gt;Beginning ASP.NET Security&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Book" rel="tag"&gt;Book&lt;/a&gt;&lt;/div&gt;&lt;img src="http://idunno.org/aggbug/519.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Barry Dorrans</dc:creator>
            <guid>http://idunno.org/archive/2010/01/27/beginning-asp.net-security-table-of-contents.aspx</guid>
            <pubDate>Wed, 27 Jan 2010 16:56:31 GMT</pubDate>
            <wfw:comment>http://idunno.org/comments/519.aspx</wfw:comment>
            <comments>http://idunno.org/archive/2010/01/27/beginning-asp.net-security-table-of-contents.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://idunno.org/comments/commentRss/519.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>