• 09-12-2013, 04:51:44
    #1
    arkadaşlar veritabanındaki verileri eklerken hiç bir sorun çıkmıyor ancak düzeltmek istediğimde ' işareti sıkıntı çıkarıyor her defasında. bunun önüne nasıl geçerim ben acaba?

    kullandığım kod şu;

    <!--#include file="bagla.asp"-->
    <%
    id=request.QueryString("id") 
    
    baslik=Request.Form("baslik")
    arama=Request.Form("arama") 
    
    If baslik="" or arama="" Then 
    Response.Write "Formda eksik bilgi var.<br><br>" 
    Response.Write "Geri dönüp kontrol ederek tekrar deneyiniz.<br><br>" 
    Response.Write "<a href=javascript:history.back()>Geri dönmek için tiklayiniz.</a>" 
    Else
    Set guncelle=Sur.Execute("update tablo Set baslik='"&baslik&"' , arama='"&arama&"' where id="&id&"") 
    
    Response.Redirect "default.asp"
    end if
    %>
  • 09-12-2013, 12:53:54
    #2
    PetitJoueur adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar veritabanındaki verileri eklerken hiç bir sorun çıkmıyor ancak düzeltmek istediğimde ' işareti sıkıntı çıkarıyor her defasında. bunun önüne nasıl geçerim ben acaba?

    kullandığım kod şu;

    <!--#include file="bagla.asp"-->
    <%
    id=request.QueryString("id") 
    
    baslik=Request.Form("baslik")
    arama=Request.Form("arama") 
    
    If baslik="" or arama="" Then 
    Response.Write "Formda eksik bilgi var.<br><br>" 
    Response.Write "Geri dönüp kontrol ederek tekrar deneyiniz.<br><br>" 
    Response.Write "<a href=javascript:history.back()>Geri dönmek için tiklayiniz.</a>" 
    Else
    Set guncelle=Sur.Execute("update tablo Set baslik='"&baslik&"' , arama='"&arama&"' where id="&id&"") 
    
    Response.Redirect "default.asp"
    end if
    %>

    Öncelikle şunu incelemeni tavsiye ederim.
    http://en.wikipedia.org/wiki/SQL_injection


    En basit yöntemle şu şekilde bu sorundan kurtulmuş oluruz ama yukarıdaki konuyu inceleyip daha detaylı önlemler almalısın.

    baslik = Replace(Request.Form("baslik"), "'", "& #39;")
    arama = Replace(Request.Form("arama"), "'", "& #39;")
    NOT: & #39; arasındaki boşluğu kaldırın.


    -
  • 09-12-2013, 14:19:36
    #3
    frdtrkc adlı üyeden alıntı: mesajı görüntüle
    Öncelikle şunu incelemeni tavsiye ederim.
    http://en.wikipedia.org/wiki/SQL_injection


    En basit yöntemle şu şekilde bu sorundan kurtulmuş oluruz ama yukarıdaki konuyu inceleyip daha detaylı önlemler almalısın.

    baslik = Replace(Request.Form("baslik"), "'", "& #39;")
    arama = Replace(Request.Form("arama"), "'", "& #39;")
    NOT: & #39; arasındaki boşluğu kaldırın.


    -
    karakter değiştirme metodu aklıma gelmemişti hocam. teşekkürler.