Filtering Input To Avoid Illegal Characters Input

Fungsi ini berguna untuk melakukan filtering pada input yang dikirimkan lewat browser client untuk mencegah critical characters yang mungkin berbahaya pada saat proses query execution, dengan memberikan pattern karakter-karakter yang allowed sehingga nanti hasil dari fungsi ini adalah value yang aman untuk dimasukan dalam proses eksekusi. fungsi ini cukup ampuh dalam mencegah tindakan illegal seperti SQL injection maupun HTML hijacking.

fungsi ini memang hanya fungsi yang simple anda dapat melakukan perubahan element fungsi baik itu di scriptingnya maupun menambahkan/mengurangi pattern characters disesuaikan dengan kebutuhan

ASP validate Input Source

Public Function ValidateInput(sChar,sPattern,sDefault)

Dim funcReturn
funcReturn = “”

if len(sChar) > 0 and len(sPattern) > 0 Then
Dim i,j,t

sPattern = replace(sPattern,“[num]”,“0123456789″)
sPattern = replace(sPattern,“[int]”,“123456789″)
sPattern = replace(sPattern,“[upper]”,“ABCDEFGHIJKLMNOPQRSTUVWXYZ”)
sPattern = replace(sPattern,“[lower]”,“abcdefghijklmnopqrstuvwxyz”)

for i=1 to len(sChar)
    t = mid(sChar,i,1)
    for j=1 to len(sPattern)
    if cstr(t) = cstr(mid(sPattern,j,1)) then
        funcReturn=funcReturn&t
        exit for
    end if
    next
next
End if
if len(funcReturn) = 0 and len(sDefault) > 0 Then funcReturn = sDefault
ValidateInput = funcReturn
End Function

Parameter

  • sChar = input to be proccessed
  • sPattern = Pattern allowed
  • sDefault = Nilai Default

Smart pattern input

  • [num] = 0123456789 * Number only
  • [int] = 123456789 * Number only 1 - 9
  • [lower] = a-z lower characters only
  • [upper] = A-Z capital charactres only

anda dapat mengkombinasikan pattern characters template, atau juga menambahkan karakter - karakter lainsesuai kebutuhan, sebagai contoh jika anda ingin memberikan pattern semua alphanumeric karakter ditambah “.(titik)” dan “+(plus)” anda bisa gunakan pattern seperti ini “[num][lower][upper].+”

Example

Response.Write ValidateInput(“aAbB1234.?”,“[num]”,“”)
Response.Write ValidateInput(“aAbB1234.?”,“[lower”,“”)
Response.Write ValidateInput(“aAbB1234.?”,“[upper][num]”,“”)
Response.Write ValidateInput(“aAbB1234.?”,“[num].?”,“”)

Ini pendapat saya pribadi: ketimbang melakukan replacement membuang semua karakter illegal saya kira lebih baik mengambil yang legal dan melewatkan yang illegal :) kalau ingin melakukan replacement karakter anda bisa menggunakan fungsi replace seperti dibawah ini:

Replace (variable_yang_di_relpace,karakter_yang_di_replace,karakter_pengganti)

Kalau anda tidak menggunakan Classic ASP anda tinggal translate syntax ke bahasa pemrograman yang anda gunakan at least anda sudah mengerti logikanya,Thats it semoga berguna bagi anda :P

0 Responses to “Filtering Input To Avoid Illegal Characters Input”


  1. No Comments

Leave a Reply