Likes Likes:  0
Resultaten 16 tot 29 van de 29
Pagina 2 van de 2 Eerste 1 2
Geen
  1. #16
    Warden Dave
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    "Erick T. Barkhuis" <erick.usenet@ardane.c-o-m> wrote:
    > Warden Dave:


    >> [Men ziet bijv.
    >> 'is_numeric' (http://nl3.php.net/is_numeric) en 'intval'
    >> (http://nl2.php.net/intval)]

    >
    > Hee, dit is grappig.
    > Waarom verwijs je voor is_numeric naar nl3.php en voor intval
    > naar nl2.php?


    Eerder al verwees ik ook al naar 'http://nl2.php.net/mysqli_multi_query' en
    het zal zijn dat de angst ontstond dat 'nl2.php.net' over den toeren zou
    raken van alle aandacht.

    > Is http://nl3.php.net/intval stuk, of achterhaald, of iets anders?


    Anders. Je kunt bij 'www.php.net' voor '/intval' gewoon een 'Found' +
    'Location: http://nl3.php.net/intval' op je brood krijgen en tegen zo'n
    prachtvondst ga ik me niet verzetten. Maar als je 't zaakje niet vertrouwt
    en 'een luchtje' denkt waar te nemen dan probeer je ze toch allemaal uit!?
    (Een fijne regenachtige zaterdagmiddag 'zoek de verschillen'. )

    groet,
    WD



  2. #17
    Erik Hensema
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    Install http://support.microsoft.com/kb/900930 to read this message.
    begin quote of Erick T Barkhuis (erick.usenet@ardane.c-o-m):
    > Erik Hensema:
    >
    >> Dit is nog weer beter:
    >> $leeftijd = (int) $_POST['leeftijd'];
    >> if($leeftijd >= 0 && $leeftijd <= 120) {
    >> # opslaan
    >> } else {
    >> # afgekeurd
    >> }

    >
    > Post eens voor de grap de waarde "12ab" als invoer?


    Klopt, de 'ab' wordt stilletjes gedropt. Silly php. Punt is
    echter dat dat geen invloed heeft op de veiligheid. Je krijgt
    misschien onzin in de database, maar wel veilige onzin.

    --
    Erik Hensema (erik@hensema.net) ICQ# 8280101
    "But officer, I was only trying to gain enough speed so I could coast
    to the nearest gas station."

  3. #18
    Erick T. Barkhuis
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    Erik Hensema:
    > Install http://support.microsoft.com/kb/900930 to read this message.
    > begin quote of Erick T Barkhuis (erick.usenet@ardane.c-o-m):
    >


    Hee, een attachment?

    --
    Erick

    "If a man speaks in the forest and there are no women there to hear him,
    is he still wrong?"


  4. #19
    Haico
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie


    > Als het je alleen gaat om het voorkomen van SQL-injecties, is het
    > bovenstaande ietwat overdreven. mysql_real_escape_string() is daarvoor
    > afdoende.


    Ik zit zomaar wat te proberen om het te gaan begrijpen en heb het volgende
    gedaan:

    $string = "jan') AND DELETE * WHERE '1'='1' " ;

    $sql="INSERT INTO vacatures (tekst) VALUES ('$string')";
    echo $sql ;
    echo "<br>";
    echo "<br>";

    $sql="INSERT INTO vacatures (tekst) VALUES ($string)";
    echo $sql ;
    echo "<br>";
    echo "<br>";

    $string2 = mysql_real_escape_string($string) ;
    $sql="INSERT INTO vacatures (tekst) VALUES ('$string2')";
    echo $sql ;
    echo "<br>";
    echo "<br>";

    $string3 = addslashes ($string) ;
    $sql="INSERT INTO vacatures (tekst) VALUES ($string3)";
    echo $sql ;
    echo "<br>";
    echo "<br>";

    en daar kwam het volgende uit:

    INSERT INTO vacatures (tekst) VALUES ('jan') AND DELETE * WHERE '1'='1'')

    INSERT INTO vacatures (tekst) VALUES (jan') AND DELETE * WHERE '1'='1')

    INSERT INTO vacatures (tekst) VALUES ('jan\') AND DELETE * WHERE
    \'1\'=\'1\'')

    INSERT INTO vacatures (tekst) VALUES (jan\') AND DELETE * WHERE \'1\'=\'1\')

    Maar wat doet nu wat?

    Haico



  5. #20
    Haico
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie


    "Erik Hensema" <usenet@smac.hensema.net> schreef in bericht > Kortom: check
    of de data voldoet aan je verwachtingen. Daarmee
    > creeer je veiligheid. Niet door zomaar wat functies aan te
    > roepen.


    OK, dank je wel, een duidelijk verhaal. Ook het idee om te controleren op
    juiste invoer en niet op foute invoer is interressant. Helaas heb ik veel
    velden waar hele lappen tekst ( be- c.q. omschrijvingen ) ingevoerd kunnen
    worden.

    Haico



  6. #21
    Eric B. Bednarz
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    "Haico" <hspaapenMONKEYTALEtiscali-INHOLLAND> writes:

    > "Erik Hensema" <usenet@smac.hensema.net> schreef:


    > Kortom: check of de data voldoet aan je verwachtingen.


    > OK, dank je wel, een duidelijk verhaal. Ook het idee om te controleren op
    > juiste invoer en niet op foute invoer is interressant.


    Hmja, *hoe* interessant dat is zie je vooral bij regexp email
    'validatie'. :->


    --
    ||| hexadecimal EBB
    o-o decimal 3771
    --oOo--( )--oOo-- octal 7273
    205 goodbye binary 111010111011

  7. #22
    Erik Hensema
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    Install http://support.microsoft.com/kb/900930 to read this message.
    begin quote of Haico ():
    >
    > "Erik Hensema" <usenet@smac.hensema.net> schreef in bericht > Kortom: check
    > of de data voldoet aan je verwachtingen. Daarmee
    >> creeer je veiligheid. Niet door zomaar wat functies aan te
    >> roepen.

    >
    > OK, dank je wel, een duidelijk verhaal. Ook het idee om te controleren op
    > juiste invoer en niet op foute invoer is interressant. Helaas heb ik veel
    > velden waar hele lappen tekst ( be- c.q. omschrijvingen ) ingevoerd kunnen
    > worden.


    Maakt niet uit. Dan nog kun je checken op een maximale lengte,
    bijvoorbeeld. Of ASCII < 32. Vervolgens gewoon even addslashes()
    en het kan veilig de database in.
    Bij weergave in html haal je het door htmlentities() en ook dat
    is dan veilig.

    Soms heb je meer layout nodig in de opgeslagen tekst, dan kun je
    gaan werken met striptags().
    --
    Erik Hensema (erik@hensema.net) ICQ# 8280101
    Quoting-HOWTO: http://www.leerquoten.nl

  8. #23
    Warden Dave
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    "Erik Hensema" <usenet@smac.hensema.net> wrote:

    > Install http://support.microsoft.com/kb/900930 to read this message.


    Nog steeds volledig offtopic.

    > begin quote of Erick T Barkhuis (erick.usenet@ardane.c-o-m):
    >> Erik Hensema:
    >>
    >>> Dit is nog weer beter:
    >>> $leeftijd = (int) $_POST['leeftijd'];
    >>> if($leeftijd >= 0 && $leeftijd <= 120) {
    >>> # opslaan
    >>> } else {
    >>> # afgekeurd
    >>> }


    >> Post eens voor de grap de waarde "12ab" als invoer?


    > Klopt, de 'ab' wordt stilletjes gedropt. Silly php.


    Jij kunt dat nu 'silly' vinden, maar het is bij zo'n conversie geen
    ongewoon gedrag en staat ook beschreven: "The value is given by the
    initial portion of the string. If the string starts with valid
    numeric data, this will be the value used. Otherwise, the value will
    be 0 (zero).".

    > Punt is echter dat dat geen invloed heeft op de veiligheid.
    > Je krijgt misschien onzin in de database, maar wel veilige onzin.


    Met dat in gedachte hoef je niet eerst te stellen dat het nog weer
    'beter' is mensen die 999 jaar oud zijn buiten te sluiten. etc.
    (Mensen zijn overigens wel ouder dan 120 jaar geworden.)

    WD



  9. #24
    Haico
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie


    >> OK, dank je wel, een duidelijk verhaal. Ook het idee om te controleren op
    >> juiste invoer en niet op foute invoer is interressant.

    >
    > Hmja, *hoe* interessant dat is zie je vooral bij regexp email
    > 'validatie'. :->


    Jeetje, regexp..... moet ik dat weer gaan opzoeken. Oh reguliere
    expressies..

    Eigenlijk meer voor mezelf omdat ik het nu eenmaal beter leer als ik het
    opschrijf het onderstaande:

    2 jaar geleden gebruikte ik deze voor e-mail validatie ( uit Larry Ullman's
    PHP voor het world wide web ), ik kreeg echter een paar ( 1 of 2 ) mailtjes
    van mensen die hun bestaande -emailadres niet gevalideerd kregen:
    =============
    $lengte = strlen($address) ;
    $patroon = ".+@.+\..+";
    $patroon = "^([0-9a-z]+)([0-9a-z\.-_]+)@([0-9a-z\.-_]+)\.([0-9a-z]+)";
    if(!eregi($patroon,$address)){
    =================
    Even kijken : we beginnen met minstens 1 cijfer of letter gevolgd door
    minstens 1 cijfer, letter, punt, streepje of underscore, gevolgd door een
    apestaart, gevolgd door minstens 1 cijfer, letter, punt, streepje of
    underscore, gevolgd door een punt, gevolgd door minstens 1 cijfer, letter.
    Het lijkt me dat meneer.jan.jansenccc@hetvvvnet.yy er wel door zal komen
    maar meneer.jan.jansen@parijs.frankrijk.hetvvvnet.yy weer niet, of toch
    wel, huh... een raar e-mailadres hadden ze dan....


    en deze kwam ik net tegen met Google "regexp mail validation" (
    http://www.codetoad.com/asp_email_reg_exp.asp ), was een ASP voorbeeld
    overigens
    ===============
    regEx.Pattern =
    "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"
    isValidE = regEx.Test(myEmail)
    ================
    Wat zou dit kunnen zijn? Beginnen met kleine of hoofdletters maar geen
    cijfer, gevolgd door 0 (nul) of meer ( die asterix ) woordkarakters ( \w =
    a-z0-9 ) punt en/of streepje, gevolgd door een of meer (hoofd)letters en/of
    cijfers, dan de apestaart, dan letters en cijfers, nul of meer
    woordkarakters punten en/of streepjes, dan 1 of meer (hoofd)letters en/of
    cijfers, dan een verplichte punt, dan 1 of meerdere (hoofd)letters, dan
    eventueel nul of meerdere (hoofd)letters en/of punten en tenslotte eindigend
    op 1 of meerdere (hoofd)letters.

    Dit zal xxxx@xxxx.nl dekken en ook xxx.xxx.xxx.xxx@x1x.x1x.co.uk

    ( met dank aan http://www.4guysfromrolla.com/webtech/052899-1.shtml )


    Haico

    PS, met excuses voor de late reacties, het duurt altijd even voordat ik het
    door of opgezocht heb ;-)





  10. #25
    Eric B. Bednarz
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    "Haico" <hspaapenMONKEYTALEtiscali-INHOLLAND> writes:

    > Jeetje, regexp..... moet ik dat weer gaan opzoeken.


    Ik scherts een beetje in reactie op het toetsen van de 'goede' input.
    Ook dat gaat in de praktijk vaak erg fout.

    Reguliere expressies op een email adres los te laten is er een klassiek
    voorbeeld van (een ander is het 'parsen' van HTML).

    > $patroon = "^([0-9a-z]+)([0-9a-z\.-_]+)@([0-9a-z\.-_]+)\.([0-9a-z]+)";


    > "^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$"


    Nou nou. Jij trapt er iets *te* makkelijk in.

    Om inspiratie op te doen zou je de reguliere expressie uit het Perl
    module Mail::RFC822::Address kunnen bestuderen.

    (??:\r\n)?[ \t])*(???:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:
    \r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(??
    ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[
    \t]))*"(??:\r\n)?[ \t])*))*@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
    31]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
    ](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
    (???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
    (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)
    ?[ \t])*)*\<(??:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\
    r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[
    \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)
    ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t]
    )*))*(?:,@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[
    \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*
    )(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*)
    *??:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+
    |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r
    \n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:
    \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t
    ]))*"(??:\r\n)?[ \t])*))*@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
    ]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
    ??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
    ??:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??
    :\r\n)?[ \t])*))*\>(??:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(??
    ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?
    [ \t]))*"(??:\r\n)?[ \t])*)*??:\r\n)?[ \t])*(???:[^()<>@,;:\\".\[\]
    \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
    \\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>
    @,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
    (?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*))*@(??:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?
    :[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
    \]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
    \031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
    ??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*)*\<(??:\r\n)?[ \t])*(?:@(?:[^()<>@,;
    :\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
    ^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\"
    ..\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
    ]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*(?:,@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
    [\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
    r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
    \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
    |\\.)*\](??:\r\n)?[ \t])*))*)*??:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
    00-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
    ..|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,
    ;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
    :[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*))*@(??:\r\n)?[ \t])*
    (?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
    \[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[
    ^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
    ]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*\>(??:\r\n)?[ \t])*)(?:,\s*(
    ??:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*)(?:\.(?
    ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[
    \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t
    ])*))*@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t
    ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?
    :\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|
    \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*|(?:
    [^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
    ]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*)*\<(??:\r\n)
    ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["
    ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\.(??:\r\n)
    ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>
    @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*(?:,@(??:\r\n)?[
    \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
    ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*)*??:\r\n)?[ \t])*)?
    (?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
    \[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])*)(?:\.(??:
    \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z|(?=[\[
    "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)?[ \t])
    *))*@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])
    +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*)(?:\
    ..(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[ \t])*))*\>(?
    ?:\r\n)?[ \t])*))*)?;\s*)


    Weet waar je aan begint.



  11. #26
    Erick T. Barkhuis
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    Eric B. Bednarz:

    > (??:\r\n)?[ \t])*(???:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t]
    > )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:
    > \r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(??
    > ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[
    > \t]))*"(??:\r\n)?[ \t])*))*@(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
    > 31]+(???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
    > ](??:\r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
    > (???:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
    > (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[ \t])+|\Z
    > |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[ \t]))*"(??:\r\n)
    > ?[ \t])*)*\<(??:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\

    [...]
    > ?:\r\n)?[ \t])*))*)?;\s*)
    >
    >
    > Weet waar je aan begint.


    Sommige mensen doen ook alles om niet het risico te lopen opnieuw in een
    ..sig te passen, he?

    --
    Erick

    "Da's geen IE-hack, da's een standaard EHBO procedure" - Eric B. Bednarz
    in niwo


  12. #27
    Haico
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie


    "Eric B. Bednarz" <bednarz@fahr-zur-hoelle.org> schreef

    > Om inspiratie op te doen zou je de reguliere expressie uit het Perl
    > module Mail::RFC822::Address kunnen bestuderen.
    >
    > (??:\r\n)?[ \t])*(???:[^()<>@,;:\\".\[\]
    > \000-\031]+(???:\r\n)?[ \t]
    > )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(??:\r\n)?[
    > \t]))*"(??:
    > \r\n)?[ \t])*)(?:\.(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
    > \000-\031]+(??


    <knip knip knip>

    > +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[
    > \t])*)(?:\
    > .(??:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(???:\r\n)?[
    > \t])+|\Z
    > |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](??:\r\n)?[
    > \t])*))*\>(?
    > ?:\r\n)?[ \t])*))*)?;\s*)


    > Weet waar je aan begint.


    Dit is Perl? Dat zou je in theorie toch gewoon in combinatie met PHP kunnen
    gebruiken? Vind je het overigens heel erg dat ik je aanbod om dit uit te
    pluizen even oversla? Ik heb wel een pagina met daarop uitleg van wat wat
    betekent:
    http://www.tldp.org/linuxfocus/Neder...tml#53lfindex1

    Gelukkig krijgt onze website een opt-in via het door hun ingevoerde
    e-mailadres en als hun invoer niet binnen een bepaalde tijd geactiveerd
    wordt wordt het Record automatisch verwijderd. Als ik met addslashes() SQL
    injecties tegen kan gaan en dan eventueel met strip_tags of
    htmlspecialcharacters() de uitvoer dan zit ik redelijk safe ( nadat ik de
    input gecheckt heb op wat ik logischerwijs in dat invoerveld mag
    verwachten ):

    $string = strip_tags($string, '<a><b><i><u>');


    Waarschuwing
    Deze functie verandert geen attributen in de tags die je toestaat met
    allowable_tags, waaronder de style and onmouseover attributen die een
    slechtwillende gerbuiken kan misbruiken bij het posten van tekst dat gezien
    kan worden door andere bezoekers.



    groet,

    Haico



  13. #28
    Ronald Klip
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    Haico wrote:
    > Ronald:
    >>Als het je alleen gaat om het voorkomen van SQL-injecties, is het
    >>bovenstaande ietwat overdreven. mysql_real_escape_string() is daarvoor
    >>afdoende.


    De PHP manual zegt immers "This function must always (with few
    exceptions) be used to make data safe before sending a query to MySQL.".
    Maar eigenlijk is ook dat weer overdreven, zo valt te lezen op
    http://dev.mysql.com/doc/refman/4.1/...pe-string.html :
    "Strictly speaking, MySQL requires only that backslash and the quote
    character used to quote the string in the query be escaped. This
    function quotes the other characters to make them easier to read in log
    files." addslashes() zou dus afdoende moeten zijn.

    Overigens moet je voor gebruik van addslashes() kijken wat de waarde van
    magic_quotes_gpc is: indien 'true', worden quotes al geescaped en zou
    addslashes() dat nogmaals doen.

    > Maar wat doet nu wat?


    Wat doet wat?

    --
    groet, Ronald

  14. #29
    Michiel de Roo
    PHP - Notatie voor een veilig SQL injectie
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP - Notatie voor een veilig SQL injectie

    Warden Dave wrote:
    > "Michiel de Roo" <yourlove@welovespam.nl> wrote:
    >
    >
    >>Overigens gaat dit voorbeeld niet op, want php-mysql ondersteunt
    >>geen meerdere queries in één string.

    >
    >
    > Toch wel. Zie http://nl2.php.net/mysqli_multi_query (Vanaf MySQL versie 4.1
    > bestaat de mogelijkheid van meerdere statements in 1 query string; zie
    > daarvoor ook CLIENT_MULTI_STATEMENTS en MYSQL_OPTION_MULTI_STATEMENTS_ON
    > etc.)


    Je hebt gelijk, met deze functie gaat het wel lukken. Maar met mysql_query
    uit het voorbeeld gaat het niet.

Pagina 2 van de 2 Eerste 1 2

Webhostingtalk.nl

Contact

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