Gönderi

Classic ASP'de stringin Base64 olup olmadığını doğrulama (validate)

Bazen Classic ASP dilinde basit işlemleri yapmak zorlaşabiliyor fakat yazılımcı birisi her zaman bir yol bulur. Bu noktada önemli olan yegane şey, en performanslı yolu bulmak.

İşte küçük veriler için oldukça performanslı bir doğrulama yöntemi. Kesinlikle %100 başarılı diyemeyiz çünkü basit bir regex ile pattern aramaktan öteye geçmiyor. Dolayısıyla, string’iniz bir base64 pattern’ine sahipse size true veya false dönecektir. Bu veri kümesinin gerçekten base64 ile encode edildiği anlamına gelmez.

Daha kesinlike bir doğrulama için server-side script ve error management kullanarak doğrulama yapmalısınız ama bu işlem daha fazla kaynak tüketeceği için, ilk adım olarak string’in gerçekten bir base64 pattern’i taşıyıp taşımadığını kontrol etmek olası riskleri azaltacaktır.

Aşağıdaki hazırladığım fonksiyon ile bu ön adımı gerçekleştirebilirsiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<%
Function IsBase64(byVal str)
    Dim regex, match, isValid

    ' Base64 regex pattern
    Set regex = New RegExp
    regex.Pattern = "^([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?$"
    regex.IgnoreCase = True
    regex.Global = False

    ' Check if the string matches the base64 pattern
    Set match = regex.Execute(str)
    If match.Count > 0 Then
        isValid = True
    Else
        isValid = False
    End If

    ' Clean up
    Set match = Nothing
    Set regex = Nothing

    IsBase64 = isValid
End Function
%>
Bu gönderi CC BY 4.0 lisansı altındadır.