|
| Afstemning Fra : Niller |
Dato : 06-03-01 15:16 |
|
Hej!
Jeg vil lave et script, hvor man først skal stemme på noget, hvorefter man
bliver sendt videre til en side hvor man skal indtaste navn og adresse!
Hvordan sikrer jeg mig at den samme ikke kan stemme to gange indenfor en uge
(evt. vha. database/cookies)
-N0ller
| |
Johan (06-03-2001)
| Kommentar Fra : Johan |
Dato : 06-03-01 16:31 |
|
> Jeg vil lave et script, hvor man først skal stemme på noget, hvorefter man
> bliver sendt videre til en side hvor man skal indtaste navn og adresse!
> Hvordan sikrer jeg mig at den samme ikke kan stemme to gange indenfor en
uge
> (evt. vha. database/cookies)
Det er umuligt at være 100% sikker. Men der er nogle måder, hvor du kan
forhindre meget snyd!
1. Tjek om IP'en har stemt før i denne uge. => Således udelukker du alle der
har ADSL for at stemme 2 gange!
2. Set en cookie som udløber en uge efter. Hvis dette cookie er sat, tæller
stemmen ikke!
3. Tjek om brugerens adresse og navn er indtastet før, hvis den er det, så
lad være med at lade denne stemme tælle med!
mvh
Johan
| |
N0ller (06-03-2001)
| Kommentar Fra : N0ller |
Dato : 06-03-01 16:47 |
|
Ok...
Men hvordan gør jeg dette sådan rent php..?
> 1. Tjek om IP'en har stemt før i denne uge. => Således udelukker du alle
der
> har ADSL for at stemme 2 gange!
> 2. Set en cookie som udløber en uge efter. Hvis dette cookie er sat,
tæller
> stemmen ikke!
> 3. Tjek om brugerens adresse og navn er indtastet før, hvis den er det, så
> lad være med at lade denne stemme tælle med!
>
> mvh
>
> Johan
>
>
| |
Johan (06-03-2001)
| Kommentar Fra : Johan |
Dato : 06-03-01 17:01 |
|
"N0ller" <nillern@hotmail.com> skrev i en meddelelse
news:9830nu$289q$1@tnews.inet.tele.dk...
> Ok...
>
> Men hvordan gør jeg dette sådan rent php..?
>
>
> > 1. Tjek om IP'en har stemt før i denne uge. => Således udelukker du alle
> der
> > har ADSL for at stemme 2 gange!
Er en længere forklaring. Gider ikke lige skrive den, da den kan laves på
200 måder. Men kort sagt skal de ligges ind i en logfil! Vil du bruge dem,
så skriv? Kan godt give lidt hjællp!
> > 2. Set en cookie som udløber en uge efter. Hvis dette cookie er sat,
> tæller
> > stemmen ikke!
På afstemningens siden, hvor du skal se om folk har stemt før sætter du
følgende ind:
if(isset($afstemning)) {
//Har stemt før
}
else {
//har ikke stemt før
}
Når brugeren afgiver stemme, sætter du følgende inden der sendes headere:
setcookie ("afstemning", "stemt", time()+604800);
Så vil brugeren først få lov til at stemme om en uge! (Med mindre denne har
slettet cookien!)
> > 3. Tjek om brugerens adresse og navn er indtastet før, hvis den er det,
så
> > lad være med at lade denne stemme tælle med!
> >
Kender ikke databasen med noget ligende således:
$query = "SELECT navn FROM user_data WHERE navn = '$navn' AND adresse =
'$adresse'";
$result = mysql_query($query);
if(mysql_num_rows($result) > 0) {
//Har stemt før
}
else {
//Har ikke stemt før!
}
Dog skal der regnes med at du såldes submitter formen! Så navn og adresse
ses om de findes i databasen. Hvis du så skal have indenfor en uge kan du
sætte en AND hvor du skriver DATE > FraEnUgeSiden!
mvh
Johan
> > mvh
> >
> > Johan
> >
> >
>
>
| |
Danni Finne (06-03-2001)
| Kommentar Fra : Danni Finne |
Dato : 06-03-01 21:46 |
|
> 1. Tjek om IP'en har stemt før i denne uge. => Således udelukker du alle
der
> har ADSL for at stemme 2 gange!
Imho ikke særlig smart. Prøv at tænke på folk som sidder bag firewall og
alle er skjult bag én ipadresse.
> 2. Set en cookie som udløber en uge efter. Hvis dette cookie er sat,
tæller
> stemmen ikke!
Jo, cookies kan slettes, men det kan man ikke gøre meget ved.
> 3. Tjek om brugerens adresse og navn er indtastet før, hvis den er det, så
> lad være med at lade denne stemme tælle med!
Nogen med dette sammen med cookies lyder som en udmærket løsning.
| |
|
|