Asp İle Koşullu Link (Sql Yemeden) Nasıl Yapılır ?
-
Şimdi arkadaşlar veritabanımızda veriler var bunları türlerine göre listelemek istiyoruz mesela
jpg dosyalar
.exe dosyalar
.pdf dosyalarıdiye linklerimiz olacak ve tıkladığımızda bunları listeleyecek asp ve accsess kullanıcaz bu arada güvenli bir şekilde olmalı
-
id ye göre sıralcaksan id nin sayı olup olmadıqına bakabılırsın if ile hacı.
-
En güvenilir yolu rakamlarla çalışmak kuşkusuz. Dosya türlerine birer rakam atabilir, dosya bilgilerini sakladığın tablonda "tur" sütunu oluştrabilir ve bu rakamları burada kullanabilirsin. Mesela şöyle birşey;
<%@Language = VBScript CodePage = 1254 %>
<%
'1- JPG Dosyaları
'2- Exe Dosyaları
'3- PDF Dosyaları
Set adoBag = Server.CreateObject("Adodb.Connection")
adoBag.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("veriler.mdb") &
";"
Dim intTur: intTur = Request.QueryString("tur")
If Len(intTur) = 0 Or IsNumeric(intTur) = False Then intTur = 1
Set rsDosyalar = adoBag.Execute("Select ad,boyut,tarih From tblDosyalar Where tur = "& intTur)
With Response
If rsDosyalar.Eof Then .Write("Hiç Dosya Yok")
While Not rsDosyalar.Eof
.Write(rsDosyalar("ad")) & "<br />"
.Write(rsDosyalar("boyut")) & "<br />"
.Write(rsDosyalar("tarih")) & "<br />"
rsDosyalar.Movenext
Wend
End With
Set rsDosyalar = Nothing
adoBag.Close
Set adoBag = Nothing
%>
-
şimdi bunu linke bağlayıp nasıl istediğim türdekileri listelerim?
-
dosya_goster.asp?tur=1
select * from tablo where tur=degiskenin
tabi bu tur degiskenini filitreleyip ondan sonra sql'e sokman lazim :)
-
bi fonksiyonla < > " ' -- ; bunların kullanımını yasakla stringde kullanabilrisin hocam...
-
Function inject(Str)
Str = Replace(Str, "*", "[YASAK]",1,-1,1)
Str = Replace(Str, "=", "[YASAK]",1,-1,1)
Str = Replace(Str, "<", "[YASAK]",1,-1,1)
Str = Replace(Str, ">", "[YASAK]",1,-1,1)
Str = Replace(Str, ";", "[YASAK]",1,-1,1)
Str = Replace(Str, "(", "[YASAK]",1,-1,1)
Str = Replace(Str, ")", "[YASAK]",1,-1,1)
Str = Replace(Str, "+", "[YASAK]",1,-1,1)
Str = Replace(Str, "#", "[YASAK]",1,-1,1)
Str = Replace(Str, "'", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "&", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "%", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "?", "[YASAK]", 1, -1, 1)
Str = Replace(Str, "´", "[YASAK]", 1, -1, 1)
Str = Replace(Str, ",", "[YASAK]",1,-1,1)
Str = Replace(Str, "UNION", "[YASAK]",1,-1,1)
Str = Replace(Str, "SELECT", "[YASAK]",1,-1,1)
Str = Replace(Str, "WHERE", "[YASAK]",1,-1,1)
Str = Replace(Str, "LIKE", "[YASAK]",1,-1,1)
Str = Replace(Str, "FROM", "[YASAK]",1,-1,1)
Str = Replace(Str, "UPDATE", "[YASAK]",1,-1,1)
Str = Replace(Str, "INSERT", "[YASAK]",1,-1,1)
Str = Replace(Str, "ORDER", "[YASAK]",1,-1,1)
Str = Replace(Str, "GROUP", "[YASAK]",1,-1,1)
Str = Replace(Str, "ALTER", "[YASAK]",1,-1,1)
Str = Replace(Str, "ADD", "[YASAK]",1,-1,1)
Str = Replace(Str, "MODIFY", "[YASAK]",1,-1,1)
Str = Replace(Str, "RENAME", "[YASAK]",1,-1,1)
Str = Replace(Str, Chr(39), "[YASAK]", 1, -1, 1)
If InStr(1,Str,"[YASAK]",1) then
Response.Redirect "/Default.asp"
end if
inject = Str
End Functioninject(request.querystring("tur"))
diye filtre yapabilirsin bu konuda döküman yazmıştım
http://www.tahribat.com/Dokuman-Asp-Sql-Injection-Engelleme-272/
