Asp Server.HtmlEncode ve Html.Decode ile Form Veri Güvenliği

Asp de “replace function” ile veri güvenliği sağlanabileceği gibi Server.HtmlEncode(string) kullanımıyla da güvenlik önlemi alınabilir.

Aşağıki örneklerde önce formdan gelen bir veriyi encode edeceğiz. Veri tabanına yazdıracağız. Sonra veri tabanında çekip dekode edeceğiz ve ekrana(sayfaya) yazdıracağız.

Server.HtmlEncode Method

Form alanından gelen veriyi alırken aşağıdaki şekilde encode yapabiliriz.

soyadi = Server.HTMLEncode(request.form(“soyadi”))

Yukarıdaki örnekte formdan gelen bilgiyi encode yaptık. Artık veri tabanına yazdırabiliriz.

Şimdide veri tabanına yazdırdığımız encode yapılmış veriyi decode yapalım ve sayfada gösterelim.
Bunun için sayfanın üstünde kullanmamız gereken bir decode fonksiyonumuz var.


HtmlDecode Method

<%
Function HTMLDecode(sText)
Dim regEx
Dim matches
Dim match
sText = Replace(sText, “&quot;”, Chr(34))
sText = Replace(sText, “&lt;” , Chr(60))
sText = Replace(sText, “&gt;” , Chr(62))
sText = Replace(sText, “&amp;” , Chr(38))
sText = Replace(sText, “&nbsp;”, Chr(32))
Set regEx= New RegExp

With regEx
.Pattern = “&#(\d+);” ‘Match html unicode escapes
.Global = True
End With

Set matches = regEx.Execute(sText)

‘Iterate over matches
For Each match in matches
‘For each unicode match, replace the whole match, with the ChrW of the digits.

sText = Replace(sText, match.Value, ChrW(match.SubMatches(0)))
Next

HTMLDecode = sText
End Function
%>

Yukardaki fonksiyonu sayfanın başına yerleştirdik varsayalım. Veri tabanından encode edilmiş soyadi verisini çekip soyadi değişkenine atıyoruz. İkinci adımda soyadi değişkenini decodedsoyadi değişkenine atarken HtmlDecode fonksiyonu ile dekode ediyoruz.Üçüncü adımda dekode edilmiş veriyi ekrana yazdırıyoruz.

soyadi =rs(“soyadi”)
decodedsoyadi = HTMLDecode(soyadi)
response.write decodedsoyadi

 

Asp Server.HtmlEncode ve Html.Decode ile Güvenlik
Facebooktwittergoogle_plusredditpinterestlinkedintumblrmail