Contact Yart for a relaxed conversation
Your Name * Message *
Your Email *  
Your Phone   
Our Phone:        03 8685 8718 (within Australia)
61 3 8685 8718 (outside Australia)
Contact Yart

Melbourne Content Management and Flash developers

 

for designers, agencies and your website

Resources / ASP NET / SQL Injection
Practical ASP.NET Techniques to Avoid SQL Injection

SQL Injection is a very serious problem on any website that allows user input that is either inserted or checked against information in a database. Here's what we do to stop it:

1. To escape the ' character, use SQL parameters:

SqlCommand.CommandText = "SELECT * FROM tblTable WHERE TableID = @Parameter";

SqlCommand.Parameters.Add(new SqlParameter("@Parameter", parameterValue));

2. Whenever you Response.Write content that was submitted by a user eg in a forum for instance, htmlencode it:

Response.Write(Server.HTMLEncode(user_input))

3. To hide pages that crash and may expose table names in the database, in web.config add:

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">

<error statusCode="403" redirect="NoAccess.htm"/>

<error statusCode="404" redirect="FileNotFound.htm" />

</customErrors>


This article presents a complete example of an SQL Injection attack against a site, describes the best techniques for preventing such an attack and why some of the common methods of prevention are not sufficient.

The latest at Yart
Search: