Teknik coding untuk perlindungan terhadap SQL Injection (Part 1)
-
16 April 2012 9:19Moderator
Selama beberapa minggu terakhir ada laporan dan komentar tentang serangan SQL injection yang diluncurkan terhadap ASP classic dan situs ASP.NET (lihat rincian pada http://blogs.iis.net/bills/archive/2008/04/26/sql-injection-attacks-on-iis-web-servers.aspx ).
Termasuk dalam pos ini adalah sampel VB.NET dan C# yang dapat digunakan untuk menyaring nilai-nilai query-string, form dan cookie yang masuk untuk melihat nilai potensial SQL injection. Namun karena data input yang valid bervariasi dari satu situs ke situs web lainnya, tidak mungkin untuk menulis satu mekanisme yang cocok untuk semua metode penyaringan. Anda dapat memodifikasi contoh kode yang terdapat dalam posting ini untuk disesuaikan dengan urutan karakter yang sesuai untuk website anda.
Juga sebagai pengingat, jika sebuah situs web didominasi oleh SQL dinamis (sebagai perbandingan lawan dari SQL parameter atau parameterized stored procedures) ini adalah praktek terbaik untuk menghindari semua tanda kutip tunggal yang terkandung dalam un-trusted web input. Karena tidak mungkin untuk membuat pengganti ini dengan menggunakan metode HttpModule / BeginRequest seperti yang ditunjukkan di bawah, sebaliknya anda malah dapat mencari kode website dan menghindar dari semua tempat di mana Sql dinamis dibangun.
//C# snippet
private string SafeSqlLiteral(string inputSQL)
{
return inputSQL.Replace("'",
"''");
}
'VB.NET snippet
Private Function SafeSqlLiteral(ByVal inputSQL
As String) As String
Return inputSQL.Replace("'", "''")
End Function
Berlanjut ke MS Knowledge Base: Teknik coding untuk perlindungan terhadap SQL Injection (Part 2)
Agnes Sannie [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.