Het volgende is het probleem, op een website van 1 van onze klanten hebben we formulieren met daarop een captcha image. Per pagina kunnen 2 formulieren aanwezig zijn, deze formulieren worden direct ingeladen, maar alleen getoond als er op de contact of sample aanvraag word geklikt.
De captcha word serverside gegenereerd, en het in te vullen getal word op zijn session opgeslagen.
Nu vertoont zich een vreemd fenomeen dat voor bepaalde gebruikers ten onrechte de captcha niet goed gekeurd word, op het plaatje staat een 5 cijferige getal, en ik heb ook gezien dat ze dit invullen.
Mijn eerste vermoeden was dat het opslaan op de sessie niet goed ging, dus nadat ik zeer uitgebreide logging had ingebouwd, kon ik vanmorgen eindelijk echt debuggen, bij mij zelf gaat het niet fout, maar bij de klant dus wel.
Na wat gepuzzel met verschillende logfiles vond ik het probleem, bij het valideren van de captcha heeft de gebruiker een ander session id dan wanneer deze gezet is
Zetten:
Uitlezen:
Kortom een vreemd probleem, als ik echter het orginele request zie, dan valt het me op dat in het request het sessieID niet aanwezig is in het cookie, en dat zou ook verklaren waarom de gebruiker direct een ander sessieID krijgt (tenminste dit veronderstel ik).
Als ik ook naar zijn requests kijk dan zit er totaal geen logica in, bij de ene resource word wel de sessie meegegeven, en bij de ander niet (het betreft 1 zelfde pageload)

Heeft iemand een idee hoe dit kan? Ik vermoed dat er iets qua security speelt, maar de definitieve oorzaak blijft voor mij onduidelijk.
De captcha word serverside gegenereerd, en het in te vullen getal word op zijn session opgeslagen.
Nu vertoont zich een vreemd fenomeen dat voor bepaalde gebruikers ten onrechte de captcha niet goed gekeurd word, op het plaatje staat een 5 cijferige getal, en ik heb ook gezien dat ze dit invullen.
Mijn eerste vermoeden was dat het opslaan op de sessie niet goed ging, dus nadat ik zeer uitgebreide logging had ingebouwd, kon ik vanmorgen eindelijk echt debuggen, bij mij zelf gaat het niet fout, maar bij de klant dus wel.
Na wat gepuzzel met verschillende logfiles vond ik het probleem, bij het valideren van de captcha heeft de gebruiker een ander session id dan wanneer deze gezet is
Zetten:
code:
1
2
| 2015-06-10 08:26:54,698 WIN-3IS8GMFSE9U INFO - Start CaptchaImage logging for Session id vzgnfcwlwtlr2n0ipd1izr3s 2015-06-10 08:26:54,698 WIN-3IS8GMFSE9U INFO - set Session:captcha_1130_7309_samplerequest with value: 21139 |
Uitlezen:
code:
1
2
3
| 2015-06-10 08:27:39,182 WIN-3IS8GMFSE9U INFO - Start logging for ValidateCaptcha Session id hsiwfyub2yk4k400xtjyuwis 2015-06-10 08:27:39,182 WIN-3IS8GMFSE9U INFO - validate captcha for pageId [1130] and formId [7309] 2015-06-10 08:27:39,182 WIN-3IS8GMFSE9U INFO - submitted captcha value: [21139] |
Kortom een vreemd probleem, als ik echter het orginele request zie, dan valt het me op dat in het request het sessieID niet aanwezig is in het cookie, en dat zou ook verklaren waarom de gebruiker direct een ander sessieID krijgt (tenminste dit veronderstel ik).
Als ik ook naar zijn requests kijk dan zit er totaal geen logica in, bij de ene resource word wel de sessie meegegeven, en bij de ander niet (het betreft 1 zelfde pageload)

Heeft iemand een idee hoe dit kan? Ik vermoed dat er iets qua security speelt, maar de definitieve oorzaak blijft voor mij onduidelijk.