Likes Likes:  0
Resultaten 1 tot 5 van de 5
Geen
  1. #1
    Rick Speelman
    Voorkom meermaals submitten van een formdata.
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Voorkom meermaals submitten van een formdata.

    Hoi,

    Ik wil voorkomen dat iemand vie een page reload of iets dergelijks
    opnieuw data uit een formulier kan submitten. Het liefst wil ik dit
    opvangen in php.

    Iemand enig idee wat een elegante oplossing daarvoor is ?

    Greetz, Rick

  2. #2
    Rik
    Voorkom meermaals submitten van een formdata.
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Voorkom meermaals submitten van een formdata.

    Rick Speelman wrote:
    > Hoi,
    >
    > Ik wil voorkomen dat iemand vie een page reload of iets dergelijks
    > opnieuw data uit een formulier kan submitten. Het liefst wil ik dit
    > opvangen in php.
    >
    > Iemand enig idee wat een elegante oplossing daarvoor is ?


    Ik zit op het moment even met hetzelfde probleem. Een nog puur theoretische
    oplossing die in mijn geval er denk ik gaat komen, si de volgende. In mijn
    geval heb ik alleen ingelogde gebruikers met dus een $_SESSION.

    Mijn plan was ongeveer het volgende:
    1. Maak een redelijke random string aan (ik gebruik een hexadecimale string
    van 16 karakters).
    2. Sla dit op in $_SESSION['reload_stop'].
    3. Als een van de eerste zaken op de website: $_SESSION['reload_stop_old']
    = $_SESSION['reload_stop'], en een nieuwe random string voor
    $_SESSION['reload_stop'].
    4. In elk formulier dat daadwerkelijk een actie uitvoert (in ieder geval
    niet herladen/opnieuw uitgevoerd moet worden) een hidden input element
    'reload_stop' met als waarde $_SESSION['reload_stop'].
    5. Bij uitvoeren van acties deze alleen uitvoeren als $_POST['reloas_stop']
    == $_SESSION['reload_stop_old'].

    Dat is in mijn geval voldoende voor de uit te voeren acties denk ik.
    Implementatie moet nog komen, dus wellicht kom ik nog problemen tegen.
    Wellicht zijn er hier mensen die dit vaker bij de hand gehad hebben die een
    beter (of in ieder geval getest en afdoende) alternatief kunnen geven?

    Overigens, voor niet ingelogde gebruikers zou je iets kunnen doen met een
    algemene voorraad van sleutels oid, die globaal voor alle gebruikers
    'actiesleutels' om het zo meer even te noemen afvinkt als gebruikt (en
    wellicht een aantal uren later weer activeert).
    --
    Rik Wasmus



  3. #3
    Rick Speelman
    Voorkom meermaals submitten van een formdata.
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Voorkom meermaals submitten van een formdata.

    Rik schreef:
    > Rick Speelman wrote:
    >> Hoi,
    >>
    >> Ik wil voorkomen dat iemand vie een page reload of iets dergelijks
    >> opnieuw data uit een formulier kan submitten. Het liefst wil ik dit
    >> opvangen in php.
    >>
    >> Iemand enig idee wat een elegante oplossing daarvoor is ?

    >
    > Ik zit op het moment even met hetzelfde probleem. Een nog puur theoretische
    > oplossing die in mijn geval er denk ik gaat komen, si de volgende. In mijn
    > geval heb ik alleen ingelogde gebruikers met dus een $_SESSION.


    Ik heb het al opgelost Ik heb met rand() een willekeurig nummer
    aangemaakt in het form (hidden), en deze ook aan een sessie var
    toegewezen ($_SESSION['var']).

    Na het submitten moeten deze twee weer overeenkomen. Als ze
    overeenkomen, actie uitvoeren en de sessie variable weer unsetten
    (unset($var)).

    Hierna kan de actie dus niet meer worden uitgevoerd omdat beiden niet
    meer overeenkomen.

    Het kan nog wel wat efficiënter en beter, maar het werkt voor wat ik wil
    eerst wel even goed genoeg

    Greetz, Rick



  4. #4
    Arjen
    Voorkom meermaals submitten van een formdata.
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Voorkom meermaals submitten van een formdata.

    Rik schreef:

    > Dat is in mijn geval voldoende voor de uit te voeren acties denk ik.
    > Implementatie moet nog komen, dus wellicht kom ik nog problemen tegen.
    > Wellicht zijn er hier mensen die dit vaker bij de hand gehad hebben die een
    > beter (of in ieder geval getest en afdoende) alternatief kunnen geven?


    Jezelf opnieuw laden voordat er output op het scherm staat en poef ..
    weg post vars :-)

    if ($_POST)
    {
    // doe dingen met de variabelen zoals invoegen in mysql
    header ('Location:'. $dezepagina);
    }
    else
    {
    // html pagina oid
    }

    --
    Arjen
    http://www.hondenpage.com

  5. #5
    Rik
    Voorkom meermaals submitten van een formdata.
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: Voorkom meermaals submitten van een formdata.

    On Fri, 16 Feb 2007 10:29:54 +0100, Arjen <dont@mail.me> wrote:

    > Rik schreef:
    >
    >> Dat is in mijn geval voldoende voor de uit te voeren acties denk ik.
    >> Implementatie moet nog komen, dus wellicht kom ik nog problemen tegen.
    >> Wellicht zijn er hier mensen die dit vaker bij de hand gehad hebben die
    >> een
    >> beter (of in ieder geval getest en afdoende) alternatief kunnen geven?

    >
    > Jezelf opnieuw laden voordat er output op het scherm staat en poef ..
    > weg post vars :-)


    Yup, gebruik ik nu zelf ook al weer een tijdje, werkt lekker.
    --
    Rik Wasmus

Webhostingtalk.nl

Contact

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