<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx</link><description>"If you have a difficult task, give it to a lazy person - they will find an easier way to do it." -Hlade's Law Whenever I am asked why something should be done "a certain way," the answer at the front of my mind usually begins, "Laziness. This is the</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Laziness is next to Godliness?</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#7261618</link><pubDate>Fri, 20 Nov 2009 14:53:35 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7261618</guid><dc:creator>Loosely Coupled</dc:creator><author>Loosely Coupled</author><description>&lt;p&gt;Laziness is next to Godliness?&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7261618" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#7226692</link><pubDate>Sat, 10 Oct 2009 10:41:34 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:7226692</guid><dc:creator>Jed Hunsaker</dc:creator><author>Jed Hunsaker</author><description>&lt;p&gt;I&amp;#39;ve been trying to make this lazy vs. efficient argument forever! Glad to see someone else is on the same page as me :)&lt;/p&gt;
&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=7226692" width="1" height="1"&gt;</description></item><item><title>re: ASP.NET Request Validation and Cross-Site Scripting</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#82602</link><pubDate>Tue, 02 Mar 2004 13:38:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:82602</guid><dc:creator>TrackBack</dc:creator><author>TrackBack</author><description>&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=82602" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#76292</link><pubDate>Thu, 19 Feb 2004 14:06:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:76292</guid><dc:creator>Eli Robillard</dc:creator><author>Eli Robillard</author><description>Before anyone else bothers to post refinements to the code in this article, note that the point of the article is an approach to code construction. The point is not to provide best practises to prevent cross-site scripting or SQL injection attacks. The code samples describe progressively lazier solutions to a given problem; they exist only to illustrate the concept. &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=76292" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#72944</link><pubDate>Sat, 14 Feb 2004 12:32:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:72944</guid><dc:creator>Mark</dc:creator><author>Mark</author><description>Long range lazyness... fantastic turn of phrase!&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=72944" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#70484</link><pubDate>Tue, 10 Feb 2004 08:14:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:70484</guid><dc:creator>stefan demetz</dc:creator><author>stefan demetz</author><description>only for scripts with angle bracktes , not for sql injection, param tampering et all&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=70484" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#67354</link><pubDate>Wed, 04 Feb 2004 14:04:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:67354</guid><dc:creator>Eli Robillard</dc:creator><author>Eli Robillard</author><description>&amp;gt; it would be good if MS built in this input data cleansing in all input controls &lt;br&gt;&lt;br&gt;They have! See the link at the end of the article on the RequestValidation feature. It checks GET or POST data for malicious content.&lt;br&gt;&lt;br&gt;-e.&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=67354" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#66931</link><pubDate>Tue, 03 Feb 2004 23:47:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:66931</guid><dc:creator>stefan demetz</dc:creator><author>stefan demetz</author><description>it would be good if MS built in this input data cleansing in all input controls  &lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=66931" width="1" height="1"&gt;</description></item><item><title>Hardening ASP.NET - avoid SQL injection (ouch !!) - Part 2</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#66928</link><pubDate>Tue, 03 Feb 2004 23:41:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:66928</guid><dc:creator>TrackBack</dc:creator><author>TrackBack</author><description>&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=66928" width="1" height="1"&gt;</description></item><item><title>re: The Lazy Programmer</title><link>http://weblogs.asp.net/erobillard/pages/3801.aspx#60009</link><pubDate>Mon, 19 Jan 2004 02:10:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:60009</guid><dc:creator>Eli Robillard</dc:creator><author>Eli Robillard</author><description>True, and actually the username and password strings are not concatenated into SQL strings here. In fact, it never quite says exactly how they are used, only that they could carry malicious data. &lt;br&gt;&lt;br&gt;In general, parameterised SQL queries are the recommended way to build any query with optional or variable input. Aside from providing a level of protection against SQL injection, SQL Server is smart enough to use the same compiled version of a parameterised query repeatedly, it's an easy performance gain.&lt;br&gt;&lt;br&gt;A feature in ASP.NET 1.1 might be the laziest solution -- Request Validation. Read about it here: &lt;a target="_new" href="http://www.asp.net/faq/RequestValidation.aspx"&gt;http://www.asp.net/faq/RequestValidation.aspx&lt;/a&gt;&lt;br&gt;Note that a patch should be applied: &lt;a target="_new" href="http://weblogs.asp.net/gad/archive/2003/11/12/37219.aspx"&gt;http://weblogs.asp.net/gad/archive/2003/11/12/37219.aspx&lt;/a&gt; &lt;br&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=60009" width="1" height="1"&gt;</description></item></channel></rss>