Meddelande

Minska
No announcement yet.

Enkelt sätt att säkra request

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Enkelt sätt att säkra request

    Ett enkelt sätt att säkra request.form och request.query mot sql injection plus att det blir så mycket mindre att skriva

    Kod:
    function safeQ(q)
        q = trim(request.querystring(q))
        q = replace(q,"'","& #39;")
        q = replace(q,";","& #59;")
        q = replace(q,"/","& #47;")
        safeQ = q
    end function
    
    function safeF(q)
        q = trim(request.form(q))
        q = replace(q,"'","& #39;")
        q = replace(q,";","& #59;")
        q = replace(q,"/","& #47;")
        safeF = q
    end function
    Ta bort mellanrummen..
    Funktionen används:

    strTitle = safeQ("titel")
    strTitle = safeF("titel")

    Edit\
    Har förmodligen inte tänkt alls, frågan är om allt blev rätt denna gång, vad finns det mer för tecken man bör skydda sig mot?
    Last edited by Melitta; 2007-02-10, 02:24.
    Damn Awkward.com, your take on awkward situations, short style..
    Min blogg.

  • #2
    Må vara ett enkelt sätt, men ett felaktigt sätt, då du förstör datat i strängarna.
    En apostrof skall ersättas med två (en ren escape alltså), inte tas bort.

    Under förutsättning att vi pratar om Microsoft-databaser. Annars är det ju normalt sett backslash som är escape-tecken...

    Med din funktion blir can't cant, won't blir wont, och McDonald's blir McDonalds.

    Förstör inte datat, rädda det.

    Mvh
    @aviddevguy

    Kommentera


    • #3
      Jo jag är medveten om det, slarvigt av mig, sry..
      Damn Awkward.com, your take on awkward situations, short style..
      Min blogg.

      Kommentera


      • #4
        Melitta skrev:
        Jo jag är medveten om det, slarvigt av mig, sry..
        Men visst kan man väl redigera inlägg även i script-forumen?
        @aviddevguy

        Kommentera


        • #5
          [citat=@nders]Med din funktion blir can't cant, won't blir wont, och McDonald's blir McDonalds. [/citat]
          Det är värre än så, McDonald's blir mcdonalds, dvs bara små bokstäver!

          Kommentera


          • #6
            Ja, till och med det! Jag såg inte ens lcase där...

            Skulle vara kul att höra hur Melitta tänkt.
            @aviddevguy

            Kommentera


            • #7
              Räcker inte detta?

              PHP-kod:
              Function FixaTecken(sfix)
                  
              sfix Replace(Trim(sfix), "'""''")
                  
              sfix Replace(sfix"|""")
                  
              FixaTecken sfix
              End 
              Function 
              Det räcker väl egentligen med apostrofen? Kommer inte ihåg varför | togs bort.
              www.bengan.com

              Kommentera

              Working...
              X