Avatar billede zerocrash Nybegynder
08. februar 2009 - 23:28 Der er 10 kommentarer og
1 løsning

Vista Parental Control dobbelt-submit på websites - løsning søges.

Er der nogen herinde som kender til en løsning hvorpå jeg kan undgå at brugere som har Vista Parental Control aktiveret på deres system, dobbel-submitter i fx. formularer i websites.

Jeg har oplevet at en del brugere dobbelsubmitter op til 20 gange - og det bliver i længden til en del forms som bare skal droppes.

Hvordan fandt jeg så ud af det lige netop var VPC? Ved at logge ind på en vista-pc med parental control aktiveret og submitte en simpel tekst-formular til en website. Min log ville så vise dobbelt-submitting og da det åbenbart er en del brugere som har det aktiveret er der et mindre problem med en del for meget spam.

Er der nogle af jer som er bekendte med en løsning - enten en form for "filter mod brugere med VPC aktiveret" eller en ganske almindelig filtrering som afviser brugerne inden de overhovedet kommer ind på et website?

Jeg forestiller mig noget php/javascript - men jeg ved ikke hvordan jeg skal gribe det an - og om det overhovedet er muligt at "filtrere" via websitet, når nu det skal aktiveres i Vista?
Avatar billede psychopixi Nybegynder
08. februar 2009 - 23:50 #1
Jeg har ikke oplevet den konkrete problemstilling, men vil forestille mig at følgende ville hjælpe. Den slår submit knappen fra lige så snart den er trykket på en gang:

<form action="test.php" method="post">
<input type="text" name="text"/>
<input type="submit" name="submit" value="Submit" onclick="this.disabled=true;return true;"/>
</form>
<?php
$text = $_POST["text"];
echo $text;
?>
Avatar billede jakobdo Ekspert
09. februar 2009 - 12:39 #2
Er problemet at der rent faktisk trykkes flere gange på knappen ?
Avatar billede zerocrash Nybegynder
10. februar 2009 - 17:13 #3
psychopixi - Desværre er problemet lidt større end jeg først antog. Jeg har prævet mig lidt frem og tilbage. Det lader til, at VPC åbenbart har et "spøgelse" når brugeren klikker på submit.

At slå knappen (submit) fra vil ikke hjælpe fordi problemet sker ved allerede det første tryk på "submit" -- To HTTP requests kom ind næsten samtidigt, med den samme URL som header og session information. Den anden kom fra IPen af den aktuelle bruger, mens den første kom fra en komplet ukendt IP-adresse som ikke var brugerens.

Denne "bouncing" giver mig 2 submits, en er "spejlet" / mirrored fra Microsoft.

Jeg er stadig igang med at undersøge da problemet ikke lader til at ske fra _ALLE_ IP-adresser. Da jeg prøvede at sætte Parental Control på en alm. user-konto på vista, brød mit system sammen?!

En løsning ville være at blokere for alle subnets associeret med VPC men jeg har opdaget at de varierer med store udsving i subnets, så det er næsten mere eller mindre umuligt at sikre sig på denne måde.

Jeg må prøve at se om jeg kan finde ud af et eller andet med en website som viser om man har et VPC-"spøgelse" hængende "bagpå" og i givet fald hvilken IP/Subnet det kommer fra.
Avatar billede jakobdo Ekspert
10. februar 2009 - 19:38 #4
Kunne du ikke lave noget ala:

//Form-siden
session_start();
$_SESSION['submitted'] = false;

//Action-siden
session_start();
if($_SESSION['submitted']){
exit('Submitted before');
}else{
$_SESSION['submitted'] = true;
//Og resten af din kode...
}
Avatar billede psychopixi Nybegynder
10. februar 2009 - 19:45 #5
#4
God ide.

Hvis det er en form som brugere må submitte flere gange kunne man jo udbygge jakobdo's kode ved at sætte sekunder, istedet for blot true, og så teste om et bestemt antal sekunder er gået siden sidste submit.
Avatar billede zerocrash Nybegynder
10. februar 2009 - 20:30 #6
Jakobdo - Jeg synes faktisk det her lyder lidt sindssygt, men som jeg læser dit forslag - og nu er jeg ikke ekspert i sessions, men vil dit forslag ikke udløse at den ægte bruger ikke kan få sin submit gennemført fordi "spøgelset" når at submitte før at brugerens submit går igennem?

Selvom at det jo ER brugeren der submitter så kommer "spøgelset" af en eller anden grund hurtigere end selve brugerens submit... Det her er godtnok et sært emne! :D
Avatar billede jakobdo Ekspert
10. februar 2009 - 20:36 #7
Jo, men sagde du ikke at der sker en submit af de samme data ?
Så min kode vil blot sikre der kun submittes data en gang.
Avatar billede zerocrash Nybegynder
10. februar 2009 - 20:42 #8
Oh ja, det jo korrekt - jeg havde ikke lige tænkt den igennem. Jeg tester den i løbet af ugen og vender tilbage ;)
Avatar billede zerocrash Nybegynder
14. februar 2009 - 17:20 #9
It did the trick - smid et svar, så er der point på vej, Jacobdo
Avatar billede jakobdo Ekspert
14. februar 2009 - 20:52 #10
Svar!
Avatar billede jakobdo Ekspert
14. februar 2009 - 22:38 #11
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger chef for Lokal IT i hovedstadsområdet

Capgemini Danmark A/S

Open Application (Denmark)

Netcompany A/S

IT Consultant

Politiets Efterretningstjeneste

Configuration Manager til PET's IT-afdeling

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret