select option wordt verandert door tamperdata
Ik heb deze query op mijn script staan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
if(isset($_POST['gegevens'])) {
mysql_query("UPDATE `users` SET `voornaam`='{$_POST['voornaam']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `achternaam`='{$_POST['achternaam']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `day`='{$_POST['day']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `month`='{$_POST['month']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `year`='{$_POST['year']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `taal`='{$_POST['taal']}' WHERE `login`='{$data->login}'");
echo "Je gegevens zijn verandert.<br><br><meta http-equiv=Refresh content=1 ;url=index1.php?p=profile>";
}
?>
if(isset($_POST['gegevens'])) {
mysql_query("UPDATE `users` SET `voornaam`='{$_POST['voornaam']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `achternaam`='{$_POST['achternaam']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `day`='{$_POST['day']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `month`='{$_POST['month']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `year`='{$_POST['year']}' WHERE `login`='{$data->login}'");
mysql_query("UPDATE `users` SET `taal`='{$_POST['taal']}' WHERE `login`='{$data->login}'");
echo "Je gegevens zijn verandert.<br><br><meta http-equiv=Refresh content=1 ;url=index1.php?p=profile>";
}
?>
Alleen hun kunnen met tamperdata de taal enzo gewoon veranderen naar wat ze willen hoe kan ik er voorzorgen dat er dan een error komt als 1 van de volgende niet klopt.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<tr><td width=100>Voornaam:</td> <td><input type=text name=voornaam value='$data->voornaam' maxlength=255></td></tr>
<tr><td width=100>Achternaam:</td> <td><input type=text name=achternaam value='$data->achternaam' maxlength=255></td></tr>
<tr><td width=100>Geboortedatum:</td>
<td><select name="day" width="150">
<option value="x">x</option>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option>
<option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option>
<option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option>
<option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option>
<option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option>
<option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option>
<option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option>
<option value="29">29</option><option value="30">30</option><option value="31">31</option></select>
<select name="month" class="txt" style="width:85px"><option value="xx">xx</option><option value="1">Januari</option>
<option value="2">Februari</option><option value="3">Maart</option><option value="4">April</option>
<option value="5">Mei</option><option value="6">Juni</option><option value="7">Juli</option>
<option value="8">Augustus</option><option value="9">September</option><option value="10">Oktober</option>
<option value="11">November</option><option value="12">December</option></select>
<select name="year" class="txt" style="width:55px">
<option value="xxxx">xxxx</option><option value="1950">1950</option><option value="1951">1951</option>
<option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option>
<option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option>
<option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option>
<option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option>
<option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option>
<option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option>
<option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option>
<option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option>
<option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option>
<option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option>
<option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option>
<option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option>
<option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option>
<option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option>
<option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option>
<option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option>
<option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option>
<option value="2003">2003</option></select>
<tr><td width=100>Geboorte land: <td><select name="taal" width="150">
<option value="$data->taal">$data->taal</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Baruda">Antigua and Baruda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Ascension Island">Ascension Island</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran">Iran</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Ivory Coast">Ivory Coast</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea (North">Korea (North)</option>
<option value="Korea (South)">Korea (South)</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Laos">Laos</option>
<option value="Latvia">Latvia</option>
</select>
<tr><td></td> <td align="right"><input type="submit" name="gegevens" value="Verander">
</table>
<tr><td width=100>Achternaam:</td> <td><input type=text name=achternaam value='$data->achternaam' maxlength=255></td></tr>
<tr><td width=100>Geboortedatum:</td>
<td><select name="day" width="150">
<option value="x">x</option>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option>
<option value="5">5</option><option value="6">6</option><option value="7">7</option><option value="8">8</option>
<option value="9">9</option><option value="10">10</option><option value="11">11</option><option value="12">12</option>
<option value="13">13</option><option value="14">14</option><option value="15">15</option><option value="16">16</option>
<option value="17">17</option><option value="18">18</option><option value="19">19</option><option value="20">20</option>
<option value="21">21</option><option value="22">22</option><option value="23">23</option><option value="24">24</option>
<option value="25">25</option><option value="26">26</option><option value="27">27</option><option value="28">28</option>
<option value="29">29</option><option value="30">30</option><option value="31">31</option></select>
<select name="month" class="txt" style="width:85px"><option value="xx">xx</option><option value="1">Januari</option>
<option value="2">Februari</option><option value="3">Maart</option><option value="4">April</option>
<option value="5">Mei</option><option value="6">Juni</option><option value="7">Juli</option>
<option value="8">Augustus</option><option value="9">September</option><option value="10">Oktober</option>
<option value="11">November</option><option value="12">December</option></select>
<select name="year" class="txt" style="width:55px">
<option value="xxxx">xxxx</option><option value="1950">1950</option><option value="1951">1951</option>
<option value="1952">1952</option><option value="1953">1953</option><option value="1954">1954</option>
<option value="1955">1955</option><option value="1956">1956</option><option value="1957">1957</option>
<option value="1958">1958</option><option value="1959">1959</option><option value="1960">1960</option>
<option value="1961">1961</option><option value="1962">1962</option><option value="1963">1963</option>
<option value="1964">1964</option><option value="1965">1965</option><option value="1966">1966</option>
<option value="1967">1967</option><option value="1968">1968</option><option value="1969">1969</option>
<option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option>
<option value="1973">1973</option><option value="1974">1974</option><option value="1975">1975</option>
<option value="1976">1976</option><option value="1977">1977</option><option value="1978">1978</option>
<option value="1979">1979</option><option value="1980">1980</option><option value="1981">1981</option>
<option value="1982">1982</option><option value="1983">1983</option><option value="1984">1984</option>
<option value="1985">1985</option><option value="1986">1986</option><option value="1987">1987</option>
<option value="1988">1988</option><option value="1989">1989</option><option value="1990">1990</option>
<option value="1991">1991</option><option value="1992">1992</option><option value="1993">1993</option>
<option value="1994">1994</option><option value="1995">1995</option><option value="1996">1996</option>
<option value="1997">1997</option><option value="1998">1998</option><option value="1999">1999</option>
<option value="2000">2000</option><option value="2001">2001</option><option value="2002">2002</option>
<option value="2003">2003</option></select>
<tr><td width=100>Geboorte land: <td><select name="taal" width="150">
<option value="$data->taal">$data->taal</option>
<option value="Afghanistan">Afghanistan</option>
<option value="Albania">Albania</option>
<option value="Algeria">Algeria</option>
<option value="American Samoa">American Samoa</option>
<option value="Andorra">Andorra</option>
<option value="Angola">Angola</option>
<option value="Anguilla">Anguilla</option>
<option value="Antarctica">Antarctica</option>
<option value="Antigua and Baruda">Antigua and Baruda</option>
<option value="Argentina">Argentina</option>
<option value="Armenia">Armenia</option>
<option value="Aruba">Aruba</option>
<option value="Ascension Island">Ascension Island</option>
<option value="Australia">Australia</option>
<option value="Austria">Austria</option>
<option value="Azerbaijan">Azerbaijan</option>
<option value="Bahamas">Bahamas</option>
<option value="Bahrain">Bahrain</option>
<option value="Bangladesh">Bangladesh</option>
<option value="Barbados">Barbados</option>
<option value="Belarus">Belarus</option>
<option value="Belgium">Belgium</option>
<option value="Belize">Belize</option>
<option value="Benin">Benin</option>
<option value="Bermuda">Bermuda</option>
<option value="Bhutan">Bhutan</option>
<option value="Bolivia">Bolivia</option>
<option value="Hungary">Hungary</option>
<option value="Iceland">Iceland</option>
<option value="India">India</option>
<option value="Indonesia">Indonesia</option>
<option value="Iran">Iran</option>
<option value="Iraq">Iraq</option>
<option value="Ireland">Ireland</option>
<option value="Israel">Israel</option>
<option value="Italy">Italy</option>
<option value="Ivory Coast">Ivory Coast</option>
<option value="Jamaica">Jamaica</option>
<option value="Japan">Japan</option>
<option value="Jordan">Jordan</option>
<option value="Kazakhstan">Kazakhstan</option>
<option value="Kenya">Kenya</option>
<option value="Kiribati">Kiribati</option>
<option value="Korea (North">Korea (North)</option>
<option value="Korea (South)">Korea (South)</option>
<option value="Kuwait">Kuwait</option>
<option value="Kyrgyzstan">Kyrgyzstan</option>
<option value="Laos">Laos</option>
<option value="Latvia">Latvia</option>
</select>
<tr><td></td> <td align="right"><input type="submit" name="gegevens" value="Verander">
</table>
Gewijzigd op 01/01/1970 01:00:00 door Andytjuh Bruggeman
Maar is jou niet ooit eens gezegt dat je je query's moet laten controleren op eventuele fouten? (foutafhandeling dus) Jij zegt daar ergens "Je gegevens zijn verandert.", maar hoe weet jij zo zeker dat dat zo is? Controlleer jij als de data wel veranderd is? (Nee dus)
Ook kan ik je aanraden om die verschillende velden te laten updaten in 1 query, het gaat namelijk telkens over hetzelfde record in de DB.
En om op je vraag te antwoorden:
Maak een array aan met de mogelijke opties en controlleer of de opgegeven waarde in de array zit.
Voeg even een mysql_real_escape_string toe aan je sql. Is in princiepe niet nodig omdat het je eigen data is, maar als het niet werkt is het makkelijk op data aan te passen.
Tamperdata is een programma om de $_POST mee te kunnen veranderen.
Dat is een addon van mozilla firefox.
https://addons.mozilla.org/nl/firefox/addon/966 meer informatie.
Nee ok daarom vroeg ik ook om hulp als iemand me daar mee kan helpen!
Haal die er dus eerst eens uit en controleer de inhoud van die variabelen voordat je ze in een query gebruikt. Goede controle en foutafhandeling is iets dat aan jouw script nog volledig ontbreekt. Ga dat dus eens toepassen.
Uitgebreide formulier controle
Hier een voorbeeld hoe je de controle van je formulier zou kunnen toepassen.
Want ik kan nog steeds met tamper data de gegevens veranderen
Kijk maar naar de Geboorte jaar
En de kleur.
http://img57.imageshack.us/img57/6624/naamloosjw0.jpg
Gewijzigd op 01/01/1970 01:00:00 door andytjuh Bruggeman
Wat je wel kunt doen is je controles zo uitvoeren dat er alleen geldige data ingevoerd kan worden. Dat is dus ook waar je je op moet richten. Als je het hebt over een select box, dan zou je de mogelijke opties in een array kunnen zetten en kunnen controleren of de invoer in die array staat. Op die manier kun je geklooi met de POST variabelen opmerken en voorkomen dat er ongeldige data in je database komt.
Maar dat begint dus met POST variabelen niet direct in je query te zetten, maar eerst de inhoud ervan te controleren en beveiligen.
Sorry dat ik meteen de POST variabelen in de query zet.
Maar ik heb wel met een andere script dat het niet lukt om je gegevens te veranderen.
Code (php)
Dus het zou wel moeten lukken omdat te voorkomen.
Gewijzigd op 01/01/1970 01:00:00 door andytjuh Bruggeman