Resultaten 1 tot 5 van de 5
  1. #1
    foutmelding bij insertcommando
    geregistreerd gebruiker
    1 Berichten
    Ingeschreven
    20/02/19

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Peter van der Weijden

    Thread Starter

    foutmelding bij insertcommando

    Ik heb een website gemaakt voor een hulpverlenende organisatie.
    Een onderdeel van de site betreft een formulier waarbij gegevens met php naar een Mysql database worden weggeschreven.
    Het formulier bestaat uit 26 velden waarvan er 9 van het soort textarea zijn.
    Het formulier is getest en na goedgekeurd te zijn op de site gezet.
    In de praktijk blijkt echter dat bij de textareavelden forse hoeveelheden tekst worden ingegeven.
    de gebruikers van de site krijgen nu een syntax error bij de insert. Ik vermoeed dat dat komt door de grootte van de ingevoerde teksten.
    De foutmelding is :
    You have an error in your SQL syntax; check the manual that corresponds
    to your MariaDB server version for the right syntax to use near 's.
    ','Dit doen wij eind 2020 met een interne- en externe audit.
    Verantwoording ' at line 2

    Heeft iemand een idee hoe ik hier verder mee kan gaan?

    Peter

  2. #2
    foutmelding bij insertcommando
    geregistreerd gebruiker
    842 Berichten
    Ingeschreven
    06/08/10

    Post Thanks / Like
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    58 Berichten zijn liked


    Naam: Chris

    Als je de query er bij zet dan kunnen we ff kijken wat dr aan schort ;-)

  3. #3
    foutmelding bij insertcommando
    geregistreerd gebruiker
    25 Berichten
    Ingeschreven
    22/08/08

    Locatie
    Groningen

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Naam: Peter
    Registrar SIDN: ja
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Als ik de foutmelding zie, denk ik eigenlijk meteen aan invoer die niet geescaped is. Hierdoor dus waarschijnljik ook meteen vatbaar voor SQL injectie.

  4. #4
    foutmelding bij insertcommando
    ICTFrameworks
    1.584 Berichten
    Ingeschreven
    05/07/03

    Locatie
    's-Gravenzande

    Post Thanks / Like
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)
    138 Berichten zijn liked


    Bedrijf: ICT Frameworks
    KvK nummer: 52425762




  5. #5
    foutmelding bij insertcommando
    geregistreerd gebruiker
    100 Berichten
    Ingeschreven
    09/08/10

    Locatie
    Zoetermeer

    Post Thanks / Like
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    13 Berichten zijn liked


    Naam: Mark Kapitein
    Bedrijf: ColoCenter B.V.
    Functie: Operations Manager
    URL: http://colocenter.nl
    Registrar SIDN: nee
    KvK nummer: 27258635
    Ondernemingsnummer: NL812442878B01
    View pub/mark-kapitein/18/145/a61's profile on LinkedIn

    Ik zal je even een voorbeeld geven zodat wat mastermind ook vermoed is wat er gebeurd.

    Stel dat iemand in een textarea een 's meegeeft zoals s'avonds. dan gebeurt het er het volgende zodra jij niet voldoende escaped.

    je query even uitgaande van een simpele query met 1 insert
    Code:
    INSERT INTO messages (text1, VALUES('s'avonds was een mooie zonsondergang')
    Je ziet nu dat er een enkele ' teveel staat in de query waardoor mysql al bezig is met het afsluiten van de query.

    Het beste om dit tegen te gaan is te escapen. Dat kan je doen met een PDO met prepared statements die automatisch voor je escapen of het zelf doen.
    mysql_real_escape_string (dat was de oude) mysqli_real_escape_string()

    de query gaat dan als volgt je database in:
    Code:
    INSERT INTO messages (text1, VALUES('s\'avonds was een mooie zonsondergang')
    Zodra jij dus een select doet dien je wel even de \ weer te verwijderen natuurlijk met een stripslashes() bv

Labels voor dit Bericht

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2021 Webhostingtalk.nl.
Web Statistics