Verificering af script
Hej jeg vil høre om der er en der vil kigge denne kode igennem og evt. verificere den, så der ikke er nogen fejl i den/smuthuller.Jeg det jeg er mest nærvøs over er om man kan snyde i det her afstemnings system???
det kan desuden ses her www.naginata.dk/vote.php www.naginata.dk/vote.phps
Det er blevet lige lovlig sent for mig, men oploader en phps version i morgen formiddag med lidt kommentare på :D
function randompass()
{
$startnend = array('b','B','c','C','d','D','f','F','g','G','h','H','j','J','k','K','l','L','m','M','n','N','p','P','q','Q','r','R','s','S','t','T','v','V','w','W','x','X','y','Y','z','Z','a','A','E','e','i','I','o','O','u','U','y','Y','1','2','3','4','5','6','7','8','9','0','!','#','*','¤','%','&','+','?','½','§','-',);
$count1 = count( $startnend ) - 1;
$rand_pass = ''; // makes sure the $pass var is empty.
for( $j = 0; $j < 3; $j++ )
{
for( $i = 0; $i < 3; $i++)
{
$rand_pass .= $startnend[rand( 0, $count1 )];
}
}
return $rand_pass;
}
$rand_pass = randompass();
if (sizeof($_GET) == 0) {
$ipadresse1 = getenv("REMOTE_ADDR");
db();
$sqlhent = mysql_query("SELECT * FROM vote1 WHERE ipadresse = '$ipadresse1' limit 0,1") or die (mysql_error());
$sqlarray = mysql_fetch_array($sqlhent);
$adresse1 = $sqlarray['adresse'];
$email1 = $sqlarray['email'];
$ipadd = $sqlarray['ipadresse'];
$kode1 = $sqlarray['kode'];
if ($_COOKIE['harstemt'] == stemt || mysql_num_rows($sqlhent) > 0) {
echo $_COOKIE['harstemt1'];
if ($_COOKIE['harstemt'] != stemt){
$cookievardi = 'stemt';
$cookievardi1 = 'Du har stemt en gang før, hvor følgende kode var i brug '.$kode1.', og med følgende ip: '.$ipadresse1.', følgende email'.$email1.', og følgende adresse: '.$adresse1;
setcookie(harstemt, $cookievardi, time()+1209600);
setcookie(harstemt1, $cookievardi1, time()+1209600);
}
echo "<html><body><br>Du har allerede stemt</body></html>";
} else {
echo "<html><body><TABLE width=60\%><FORM METHOD=POST ACTION=\"vote.php?votein=1\">
<TR>
<td colspan='4'><h1>VOTE HER</h1><br>Din IP: ".$ipadresse1."<br>Her kan du afgive din stemme om hvilket design Naginata's nye design skal bygges op om.<br>Du bedes afgive både navn og adresse, da vi derved vil kunne afsende dig den præmie som vil blive afgivet til en tilfældig udtrykken vinder.<br>ALLE Felter skal udfyldes</td>
</TR>
<TR>
<td>Navn:</td>
<td><input class=\"formfelt\" name=\"navn\" type=\"text\" size=18 value=\"Navn\" maxlength=25 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">*</td>
</TR>
<TR>
<td>Efternavn:</td>
<td><input class=\"formfelt\" name=\"efternavn\" type=\"text\" size=18 value=\"Efternavn\" maxlength=25 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">*</td>
</TR>
<TR>
<td>Adresse:</td>
<td><input class=\"formfelt\" name=\"adresse\" type=\"text\" size=18 value=\"gade og nr.\" maxlength=45 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">*</td>
</TR>
<TR>
<td>Postnr.:</td>
<td><input class=\"formfelt\" name=\"postnr\" type=\"text\" size=4 value=\"####\" maxlength=4 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">* By: <input class=\"formfelt\" name=\"city\" type=\"text\" size=18 value=\"Bynavn\" maxlength=15 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">*</td>
</TR>
<TR>
<td>Email:</td>
<td><input class=\"formfelt\" name=\"email\" type=\"text\" size=18 value=\"navn@domain.dk\" maxlength=35 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">*</td>
</TR>
<tr>
<td width='200' colspan='2'><A HREF=\"naginata.jpg\" target=_blank alt='billed 1' ><img SRC=\"naginata.jpg\" border=0 width='300' alt='billed 1'></A></td>
<td width='200' colspan='2'><A HREF=\"naginata-banner.jpg\" target=_blank alt='billed 2' ><img border=0 SRC=\"naginata-banner.jpg\" width='300' alt='billed 2'></A></td>
</tr>
<tr>
<td colspan='2'>Afgiv din stemme her:</td>
<td colspan='2'>
<SELECT NAME=\"vote\">
<option value=\"stem\">stem her
<option value=\"1\">Design 1
<option value=\"2\">Design 2
</SELECT>*
</td>
</tr>
<tr>
<td>Gentag Koden:</td>
<td> <input name=\"kodemed\" type=\"text\" readonly=\"true\" value=".$rand_pass."></td>
<td><input class=\"kode\" name=\"kode\" type=\"text\" size=18 value=\"Koden\" maxlength=35 onclick=\"if(this.value==this.defaultValue)this.value='';\" onfocus=\"if(this.value==this.defaultValue)this.value='';\" onblur=\"if(this.value=='')this.value=this.defaultValue;\">*</td>
</tr>
<tr>
<td colspan='2' aling=center><input type='submit'></td><td colspan='2' aling=center><input type=\"reset\"></td>
<tr>
</TABLE></FORM></body></html>";
}
} else if ($_GET['votein'] and $_POST['navn'] != 'Navn' AND $_POST['efternavn'] != 'Efternavn' AND $_POST['adresse'] != 'gade og nr.' AND $_POST['postnr'] != '####' AND $_POST['city'] != 'Bynavn' AND $_POST['email'] != 'navn@domain.dk' AND $_POST['vote'] != 'stem' AND $_POST['kode'] != 'Koden' AND $_POST['kodemed'] == $_POST['kode']) {
$navn = $_POST['navn'];
$efternavn = $_POST['efternavn'];
$adresse = $_POST['adresse'];
$postnr = $_POST['postnr'];
$city = $_POST['city'];
$email = $_POST['email'];
$vote = $_POST['vote'];
$kodemed = $_POST['kodemed'];
$kode = $_POST['kode'];
$ipadresse = getenv("REMOTE_ADDR");
db();
$sqlhent = mysql_query("SELECT * FROM vote1 WHERE email = '$email' OR adresse = '$adresse' OR ipadresse = '$ipadresse' limit 0,1") or die (mysql_error());
$sqlarray = mysql_fetch_array($sqlhent);
$adresse1 = $sqlarray['adresse'];
$email1 = $sqlarray['email'];
$ipadd = $sqlarray['ipadresse'];
$kode1 = $sqlarray['kode'];
if (mysql_num_rows($sqlhent) > 0) {
$cookievardi = 'stemt';
$cookievardi1 = 'Du har stemt en gang før, hvor følgende kode var i brug '.$kode1.', og med følgende ip: '.$ipadresse1.', følgende email'.$email1.', og følgende adresse: '.$adresse1;
setcookie(harstemt, $cookievardi, time()+1209600);
setcookie(harstemt1, $cookievardi1, time()+1209600);
echo "<html><body>Den email, adresse eller ip du benytter findes allerede i databasen. Da man kun kan stemme en gang er denne stemme ikke gyldig<br>".cookievardi1."</body></html>";
} else {
mysql_query ("INSERT INTO vote1 (navn, efternavn, adresse, postnr, city, ipadresse, vote, email) VALUES ('$navn','$efternavn','$adresse','$postnr','$city','$ipadresse','$vote','$email')") or die (mysql_error());
$cookievardi = 'stemt';
$cookievardi1 = 'Du har stemt en gang før, hvor følgende kode var i brug '.$kode.', og med følgende ip: '.$ipadresse.' følgende email: '.$email.', og adresse: '.$adresse;
setcookie(harstemt, $cookievardi, time()+1209600);
setcookie(harstemt1, $cookievardi1, time()+1209600);
echo "<html><body>Din stemme er med.<br>Se stillingen <a href=vote.php?stilling=1>her</a></body></html>";
}
} else if ($_GET['votein'] and $_POST['navn'] == 'Navn' OR $_POST['efternavn'] == 'Efternavn' OR $_POST['adresse'] == 'gade og nr.' OR $_POST['postnr'] == '####' OR $_POST['city'] == 'Bynavn' OR $_POST['email'] == 'navn@domain.dk' OR $_POST['vote'] == 'stem' OR $_POST['kode'] == 'Koden' OR $_POST['kodemed'] != $_POST['kode']) {
$navn = $_POST['navn'];
$efternavn = $_POST['efternavn'];
$adresse = $_POST['adresse'];
$postnr = $_POST['postnr'];
$city = $_POST['city'];
$email = $_POST['email'];
$vote = $_POST['vote'];
$kodemed = $_POST['kodemed'];
$kode = $_POST['kode'];
echo "<html><body>
<TABLE width=60\%>
<tr>
<td colspan='4'>";
if ($navn == 'Navn') echo "<font color=red>Udfyld navn rigtigt!<br></font>";
if ($efternavn == 'Efternavn') echo "<font color=red>Udfyld efternavn rigtigt!<br></font>";
if ($adresse == 'gade og nr.') echo "<font color=red>Udfyld gade og nummer rigtigt!<br></font>";
if ($postnr == '####') echo "<font color=red>Udfyld postnummer rigtigt rigtigt!<br></font>";
if ($city == 'Bynavn') echo "<font color=red>Udfyld Bynavn rigtigt!<BR></font>";
if ($email == 'navn@domain.dk') echo "<font color=red>Udfyld email rigtigt!<br></font>";
if ($vote == 'stem') echo "<font color=red>Husk at stemme!<br></font>";
if ($kode != $kodemed) echo "<font color=red>Den kode du har angivet er ikke den rigtige. Koden bruger vi til at verificere din stemme er korrekt, derfor skal den være præsis den samme som der er angivet.<br></font>";
echo "<br>Alle de felter med en <font color=red>rød *</font> er ikke udfyldt korrekt.</td>
</tr>
<FORM METHOD=POST ACTION=\"vote.php?votein=1\">
<TR>
</TR>
<TR>
<td>Navn:</td>
<td><input class=\"formfelt\" name=\"navn\" type=\"text\" size=18 value=".$navn." maxlength=25>";
if ($navn == 'Navn') echo "<font color=red>*</font>";
echo "</td>
</TR>
<TR>
<td>Efternavn:</td>
<td><input class=\"formfelt\" name=\"efternavn\" type=\"text\" size=18 value=".$efternavn." maxlength=25 >";
if ($efternavn == 'Efternavn') echo "<font color=red>*</font>";
echo "</td>
</TR>
<TR>
<td>Adresse:</td>
<td><input class=\"formfelt\" name=\"adresse\" type=\"text\" size=18 value=".$adresse." maxlength=45>";
if ($adresse == 'gade og nr.') echo "<font color=red>*</font>";
echo "</td>
</TR>
<TR>
<td>Postnr.:</td>
<td><input class=\"formfelt\" name=\"postnr\" type=\"text\" size=4 value=".$postnr." maxlength=4>";
if ($postnr == '####') echo "<font color=red>*</font>";
echo "By:
<input class=\"formfelt\" name=\"city\" type=\"text\" size=18 value=".$city." maxlength=15>";
if ($city == 'Bynavn') echo "<font color=red>*</font>";
echo "</td>
</TR>
<TR>
<td>Email:</td>
<td><input class=\"formfelt\" name=\"email\" type=\"text\" size=18 value=".$email." maxlength=35>";
if ($email == 'navn@domain.dk') echo "<font color=red>*</font>";
echo "</td>
</TR>
<tr>
<td width='200' colspan='2'><A HREF=\"naginata.jpg\" target=_blank alt='billed 1' ><img SRC=\"naginata.jpg\" border=0 width='300' alt='billed 1'></A></td>
<td width='200' colspan='2'><A HREF=\"naginata-banner.jpg\" target=_blank alt='billed 2' ><img border=0 SRC=\"naginata-banner.jpg\" width='300' alt='billed 2'></A></td>
</tr>
<tr>
<td colspan='2'>Afgiv din stemme her:</td>
<td colspan='2'>
<SELECT NAME=\"vote\">
<option value=\"stem\">stem her
<option value=\"1\">Design 1
<option value=\"2\">Design 2
</SELECT>";
if ($vote == 'stem') echo "<font color=red>*</font>";
echo "</td>
</tr>
<tr>
<td>Gentag Koden:</td>
<td> <input name=\"kodemed\" type=\"text\" readonly=\"true\" value=".$kodemed."></td>
<td><input class=\"kode\" name=\"kode\" type=\"text\" size=18 value=\"Koden\" maxlength=35>";
if ($kode != $kodemed) echo "<font color=red>*</font>";
echo "</td>
</tr>
<tr>
<td colspan='2' aling=center><input type='submit'></td><td colspan='2' aling=center><input type=\"reset\"></td>
</tr>
</TABLE></FORM></body></html>";
} else if ($_GET['stilling']) {
db();
$sqlhent = mysql_query("SELECT * FROM vote1 WHERE vote ='1'") or die (mysql_error());
$sqlarray = mysql_fetch_array($sqlhent);
$vote1 = mysql_num_rows($sqlhent);
$sqlhent = mysql_query("SELECT * FROM vote1 WHERE vote ='2'") or die (mysql_error());
$sqlarray = mysql_fetch_array($sqlhent);
$vote2 = mysql_num_rows($sqlhent);
$ialt = $vote1+$vote2;
$procent1 = round(($vote1/$ialt)*100 ,2);
$procent2 = round(($vote2/$ialt)*100 ,2);
echo "<body><html>Der er afgivet ialt: ".$ialt." stemmer.<br>Der er afgivet: ".$vote1." (".$procent1."%) på design 1.<br>Der er afgivet: ".$vote2." (".$procent2."%) på design 2.<br>";
echo "Det vil sige at ";
if ($vote1 > $vote2) {
echo "føre Design 1";
} else if ($vote1 < $vote2) {
echo "føre Design 2";
} else {
echo "det er godt nok spændende, det står helt lige mellem dem :D ";
}
echo "</body></html>";
}
?>
</body></html>
