Dubbele post voorkomen, history backbutton

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Low Code Developer voor o.a. overheidsprojecten!

Bedrijfsomschrijving Wil jij ook behoren tot de specialist in Low Code? Dan zou ik zeker aanraden om verder te lezen. Deze organisatie is ooit opgericht door twee studenten en is inmiddels uitgegroeid tot een serieuze werkgever met een groot aanzien op Low Code projecten. De sfeer is echter niet veranderd, er heerst een informele sfeer met een open deuren beleid, en hierin mag de eigen bar natuurlijk niet ontbreken. Momenteel maakt deze organisatie een flinke groei door en hier kan jij natuurlijk niet bij ontbreken. Daarom ben ik op zoek naar Low Code Developers met een degelijke technische achtergrond. Kennis

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

Medior/Senior Python developer (Django)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en werken ze met pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Er is een kwaliteitsfocus en dan biedt ruimte om verbeteringen echt door te voeren binnen de gehele

Bekijk vacature »

Senior Fullstack Developer (GOLang, TypeScript)

Bedrijfsomschrijving Our client is one of the large worldwide accounting firms. Functieomschrijving We are looking for a senior (all-round) developer (Project On Demand / Tax Technology) Uses as much as possible technology in support of the development process: Git, Jenkins, Docker, npm, skaffold, helm, etc. We are looking for a real hands-on developer; ie not a team lead or other managerial-style role; Acts with integrity both internally and externally and takes personal responsibility in this respect; Curious about the developments within their field and driven to make a difference with the team; Able to empathize with colleagues and stakeholders and

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP Developer ga jij aan de slag met uitdagende software projecten. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Deze software bouw je vooral in PHP en specifiek Laravel. Dit framework kent dus geen geheimen voor jou. De software die jij gaat ontwikkelen is heel divers, van urenregistratiesystemen tot compleet geautomatiseerde tools. In deze veelzijdige functie ga jij je zeker niet vervelen, elke dag bestaat weer uit nieuwe uitdagingen. Bedrijfsprofiel Deze

Bekijk vacature »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Ervaren Full stack developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house functie bij een bedrijf met enorme groeipotentie? Ben jij op zoek naar een nieuwe uitdaging vol afwisseling en gezelligheid? Dan ben je bij dit bedrijf aan het juiste adres! Wij zijn in omgeving Breda op zoek naar een ervaren full stack developer. Je gaat werken voor een zeer gewilde werkgever met goede arbeidsvoorwaarden. Je krijgt een plekje in het jonge IT team, work hard, play hard is hier duidelijk het motto! Jouw werkzaamheden zien er als volgt uit: Jij bent verantwoordelijk voor het ontwerpen en bouwen van webapplicaties. Je bent

Bekijk vacature »
Ferdi R

Ferdi R

14/04/2015 13:56:15
Quote Anchor link
Ik zoek naar een oplossing hoe ik kan voorkomen dat iemand een formulier invult en daarna terug gaat via de history button van de browser en dan de waardes weer opnieuw kan invoeren.

F5 refresh is al voorkomen dat ik een redirect gebruik maar gebruikers kunnen weer terug naar het ingevulde formulier.

Wie weet hoe ik dat zal kunnen aanpakken?
 
PHP hulp

PHP hulp

15/05/2024 16:16:34
 
Thomas van den Heuvel

Thomas van den Heuvel

14/04/2015 14:06:10
Quote Anchor link
Het probleem is een beetje: hoe kun je een gebruiker echt uniek identificeren?

Je zou kunnen gaan voor een volgende opzet: om een formulier in te kunnen vullen moet iemand een token hebben. Dit token kun je aanvragen middels een e-mailadres. En je maakt het zo dat je slechts 1 token aan kunt vragen per e-mailadres.

Heb je nog steeds het probleem bij mensen met meerdere e-mailadressen, maar dan ligt iig de lat een stuk hoger denk ik.

Of eenvoudigere oplossingen, maar die werken wellicht minder vaak of zijn onhandig:
- controle op IP-adres; het kan zijn dat een groep mensen naar buiten toe hetzelfde IP hebben, deze wil je niet op voorhand benadelen
- controle op cookie; maar deze kan iemand eenvoudig verwijderen omdat dit client side is.

Hoe beter je oplossing, hoe complexer waarschijnlijk.
 
- Ariën  -
Beheerder

- Ariën -

14/04/2015 14:35:13
Quote Anchor link
De md5() waarde van het bericht in een sessie opslaan? En deze na een minuut verwijderen.
Gewijzigd op 14/04/2015 14:35:40 door - Ariën -
 
- wes  -

- wes -

14/04/2015 15:18:52
Quote Anchor link
Met een csrf-token kan je 2 vliegen in 1 klap slaan. En je bent veiliger en je vangt dit probleem ook (deels) af
 
Thomas van den Heuvel

Thomas van den Heuvel

14/04/2015 16:23:09
Quote Anchor link
Quote:
De md5() waarde van het bericht in een sessie opslaan? En deze na een minuut verwijderen.

1 karakter aanpassen en je bent hier al omheen?
EDIT: of je sessiecookie weggooien

Quote:
Met een csrf-token kan je 2 vliegen in 1 klap slaan. En je bent veiliger en je vangt dit probleem ook (deels) af

Dit lost een ander probleem op denk ik.

Als ik de topicstarter goed begrijp zoekt hij een manier om ervoor te zorgen dat iemand maar 1x een formulier in kan dienen. Iets soortgelijks doe je toch ook als je (op verzoek) eenmalig een enquete invult? Daarbij krijgt men ook een token toegestuurd waarbij men toegang krijgt tot de enquete.
Gewijzigd op 14/04/2015 16:23:44 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

14/04/2015 16:25:44
Quote Anchor link
Thomas van den Heuvel op 14/04/2015 16:23:09:
Quote:
De md5() waarde van het bericht in een sessie opslaan? En deze na een minuut verwijderen.

1 karakter aanpassen en je bent hier al omheen?
EDIT: of je sessiecookie weggooien

Dat weet ik, maar ik heb een groot vermoeden dat de TS een oplossing zoekt om door userfoutjes berichten niet dubbel door te sturen.
 
Ferdi R

Ferdi R

14/04/2015 16:53:10
Quote Anchor link
Ik heb nu een token gebruikt die ik met de gegevens opsla in de DB, bij Chrome en IE werkt het goed want als je terug gaat/navigeert naar het formulier dan staat het zelfde token in de hidden input (broncode) die is gebruikt bij het invullen van de form dus ik hoef bij een dubbele post alleen maar te machten en diegene een foutmelding geven of door te sturen naar een blanke formulier of naar de index.

Alleen bij FireFox werkt het niet, want als je terug gaat dan maakt FireFox een nieuwe token aan en wordt de token die mee werd gestuurd niet gebruikt.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/04/2015 17:09:28
Quote Anchor link
Ferdi R op 14/04/2015 16:53:10:
Alleen bij FireFox werkt het niet, want als je terug gaat dan maakt FireFox een nieuwe token aan en wordt de token die mee werd gestuurd niet gebruikt.


Dat zou betekenen dat Firefox zijn cache niet gebruikt maar de pagina opnieuw download. De ingevulde gegevens zouden dan leeg moeten zijn (of een standaard waarde hebben), zeg maar dezelfde situatie als dat de pagina de eerste keer door een gebruiker opgevraagd wordt. De gebruiker moet dan alles al opnieuw invullen wil deze nog een keer gepost worden.. zal niet zo vaak gebeuren lijkt me?
 
Thomas van den Heuvel

Thomas van den Heuvel

14/04/2015 17:21:02
Quote Anchor link
Je moet natuurlijk ook onthouden dat een formulier al een keer is ingevuld met het unieke token wat maar 1x (op verzoek) verstrekt is aan een specifieke gebruiker (bijvoorbeeld via e-mail).

Dat is een redelijke sure-safe manier om te garanderen dat iemand maar 1x (per e-mailadres) een formulier indient.
 
Ferdi R

Ferdi R

14/04/2015 18:22:54
Quote Anchor link
Nu werkt het in Chrome ook niet meer, net nog wel.

Ik denk dat ik het anders ga doen, Ik zet de token in een cookie als de gebruiker op de knop "naar formulier" klikt.
De cookie/token voer ik dan mee met de gegevens in de DB zodat ik daarmee kan matchen, De gebruiker kan alleen weer nieuwe gegevens invoeren via de knop "naar formulier" en krijgt dan een nieuwe cookie voor een nieuwe invoer.

Toevoeging op 14/04/2015 19:02:21:

Ahah, nu merk ik dat als je een cookie voor de gebruiker aanmaakt op een pagina en hem doorstuurt en de gebruiker wil terug navigeren dat de browser dan een lege pagina laat zien omdat daar een cookie is aangemaakt.

Op zo'n manier wordt het formulier niet meer getoond en dan kan de gebruiker niets anders dan een pagina verder terug en opnieuw beginnen.
 
Thomas van den Heuvel

Thomas van den Heuvel

14/04/2015 19:29:08
Quote Anchor link
Als het mogelijk moet zijn om het formulier meerdere keren in te vullen (maar niet elke keer met "dezelfde" waarden):

Er zijn zelfs addons voor om formulieren automatisch in te vullen...

Wat je wilt is een beetje tegenstrijdig.

Je wilt dat mensen formulieren kunnen invullen, maar ook weer niet?

Stop het formulier achter een login als je hier meer controle over wilt hebben.
Gewijzigd op 14/04/2015 19:30:00 door Thomas van den Heuvel
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.