PDA

View Full Version : حذف کاراکترهای مخرب



pedram_ns
چهارشنبه 23 فروردین 1391, 19:55 عصر
با سلام
برای حذف یکسری کاراکترهای مخرب که میتونه باعث تزریق اس کیو ال بشه یک کد پیدا کردم ولی نمیدونم چرا جواب نمیده کسی میدونه مشکلش چیه یا کد بهتری سراغ دارید؟


Private Function SanitizeInput(ByVal input As String) As String
Dim badCharReplace As New Regex("[<>""'[]_/\*!%;()&]")
Return badCharReplace.Replace(input, String.Empty)
End Function

برای استفاده هم:


Dim name As String = SanitizeInput(nametxt.Text)

hamed2592
جمعه 25 فروردین 1391, 05:59 صبح
من این 2 کد رو واسه خودم نوشتم :



Function Filltertxt(ByVal txtRes As String)
Dim TextF As String = txtRes
TextF = Replace(TextF, Chr(34), "")
TextF = Replace(TextF, Chr(39), "")
TextF = Replace(TextF, Chr(42), "")
TextF = Replace(TextF, Chr(43), "")
TextF = Replace(TextF, Chr(61), "")
TextF = Replace(TextF, Chr(124), "")
Return TextF
End Function


و اگه فقط ورودی باید عدد باشه :


Function filterqs(ByVal strtxt As String)
For i As Integer = 1 To Len(strtxt.ToString)
Dim chk As Boolean = False
Dim chrchk As Char = Mid(strtxt.ToString, i, 1)
Dim intchr As Integer = Val(Asc(chrchk))
For j As Integer = 48 To 58
If j = intchr Then
chk = True
Exit For
End If
Next
If chk = False Then
strtxt = "0"
Exit For
End If
Next
Return strtxt
End Function

fakhravari
جمعه 25 فروردین 1391, 11:09 صبح
http://www.dotnettips.info/2011/05/xss.html
دوستان این روش اگر سمپلی دارید ممنون میشم بزارید.
سمپل خودش توی سایت خوب نیست. با یه مثال عملی

ghbn1362
جمعه 25 فروردین 1391, 11:40 صبح
این هم یک خط کد که کار شما رو انجام می دهد. این روش با استفاده از Regx کارکترها رو یافته و آنها را حذف می نماید

string Query = Regex.Replace(context.Request.QueryString["query"], @"[\[\]\\\^\$\|\?\*\+\(\)\{\}%,;><!@#&\+\'\""/]", "", RegexOptions.Compiled);

kingmech
جمعه 25 فروردین 1391, 12:59 عصر
چرا از Stored Procedures استفاده نمکنید
دلیل خاصی داره؟