Dylan schreef:Omdat die disabled is denk ik?weet iemand waarom "select a wordlist" opeens een andere achtergrondkleur krijgt als ik met de muis erover ga?
Afbeelding
Afbeelding"]http://i.imgur.com/cSkHbPV.png]Afbeelding[/url]
Kleine Vragen Topic #4
Dylan schreef:Dat kan heel veel redenen hebben.. Code?weet iemand waarom "select a wordlist" opeens een andere achtergrondkleur krijgt als ik met de muis erover ga?
Afbeelding
Afbeelding"]http://i.imgur.com/cSkHbPV.png]Afbeelding[/url]
Dylan schreef:Wat gebeurt er als je met RGB kleuren werkt?weet iemand waarom "select a wordlist" opeens een andere achtergrondkleur krijgt als ik met de muis erover ga?
Afbeelding
Afbeelding"]http://i.imgur.com/cSkHbPV.png]Afbeelding[/url]
Milan schreef:AfbeeldingEerdere citaten tonen
Dylan schreef:weet iemand waarom "select a wordlist" opeens een andere achtergrondkleur krijgt als ik met de muis erover ga?
Afbeelding"]http://i.imgur.com/cSkHbPV.png]Afbeelding[/url]
Omdat die disabled is denk ik?
Kingunit schreef:Codeblok (voorbeeld.php):AfbeeldingEerdere citaten tonen
Dylan schreef:weet iemand waarom "select a wordlist" opeens een andere achtergrondkleur krijgt als ik met de muis erover ga?
Afbeelding"]http://i.imgur.com/cSkHbPV.png]Afbeelding[/url]
Dat kan heel veel redenen hebben.. Code?
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
* {
box-sizing: border-box;
font-family: Merriweather, serif;
}
html, body {
background-color: #2C4770;
}
.container {
background-color: #b1b6bf;
width: 450px;
display: table;
padding: 25px;
border-radius: 5px;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
-webkit-box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.45);
-moz- box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.45);
box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.45);
}
h1 {
font-size: 16px;
margin: 3px 0;
}
select, button {
background-color: #7689A9;
border: none;
padding: 7px;
-webkit-box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.35);
-moz-box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.35);
box-shadow: 3px 6px 10px 0px rgba(0, 0, 0, 0.35);
margin: 25px 0;
width: 100%;
display: table-row;
outline: none;
}
button:hover {
cursor: pointer;
}
toevoeging op 17 januari 2016, 17:55:22:
Codeblok (voorbeeld.php):
1
2
3
4
5
6
7
8
Welcome to Woordjes Leren Easy
Dylan schreef:1Codeblok (voorbeeld.php):
2
3
4
5
6
7
8
Welcome to Woordjes Leren Easy
Regel 4, [c]disabled="disabled"[/c]
Luukvdo schreef:1Eerdere citaten tonen
Dylan schreef:Codeblok (voorbeeld.php):
2
3
4
5
6
7
8
Welcome to Woordjes Leren Easy
Regel 4, [c]disabled="disabled"[/c]
Ah dan zou ik dus [c]option
isabled[/c] moeten stylenDylan schreef:Regel 4, [c]disabled="disabled"[/c]1Eerdere citaten tonen
Luukvdo schreef:Eerdere citaten tonen
Dylan schreef:Codeblok (voorbeeld.php):
2
3
4
5
6
7
8Welcome to Woordjes Leren Easy
Ah dan zou ik dus [c]option
isabled[/c] moeten stylenJep
Luukvdo schreef:Regel 4, [c]disabled="disabled"[/c]Eerdere citaten tonen
Dylan schreef:1Eerdere citaten tonen
Luukvdo schreef:Eerdere citaten tonen
Dylan schreef:Codeblok (voorbeeld.php):
2
3
4
5
6
7
8Welcome to Woordjes Leren Easy
Ah dan zou ik dus [c]option
isabled[/c] moeten stylenJep
ah ty
Stel voor ik heb een afschermde administrator omgeving. Je kan een gebruiker bijvoorbeeld aanpassen en via AJAX wordt er een request gedaan naar een andere pagina die de gegevens uiteindelijk in de database wijzigd.
Ik wil deze externe pagina graag beveiligen. Natuurlijk is een basis PHP check niet voldoende omdat je met de juiste headers hier makkelijk doorheen komt.
Is het voldoende als ik op deze externe pagina gewoon controleer of de gebruiker ingelogd is of moet er nog meer te pas komen?
Ik wil deze externe pagina graag beveiligen. Natuurlijk is een basis PHP check niet voldoende omdat je met de juiste headers hier makkelijk doorheen komt.
Is het voldoende als ik op deze externe pagina gewoon controleer of de gebruiker ingelogd is of moet er nog meer te pas komen?
Kingunit schreef:Gewoon op die Ajax pagina weer een check doen ja, dat is voldoende.Stel voor ik heb een afschermde administrator omgeving. Je kan een gebruiker bijvoorbeeld aanpassen en via AJAX wordt er een request gedaan naar een andere pagina die de gegevens uiteindelijk in de database wijzigd.
Ik wil deze externe pagina graag beveiligen. Natuurlijk is een basis PHP check niet voldoende omdat je met de juiste headers hier makkelijk doorheen komt.
Is het voldoende als ik op deze externe pagina gewoon controleer of de gebruiker ingelogd is of moet er nog meer te pas komen?
Kingunit schreef:Ja, en misschien checken of de gebruik genoeg rechten heeft d.m.v. rechten / permissies systeemStel voor ik heb een afschermde administrator omgeving. Je kan een gebruiker bijvoorbeeld aanpassen en via AJAX wordt er een request gedaan naar een andere pagina die de gegevens uiteindelijk in de database wijzigd.
Ik wil deze externe pagina graag beveiligen. Natuurlijk is een basis PHP check niet voldoende omdat je met de juiste headers hier makkelijk doorheen komt.
Is het voldoende als ik op deze externe pagina gewoon controleer of de gebruiker ingelogd is of moet er nog meer te pas komen?
Dylan schreef:Ik wil deze externe pagina graag beveiligen. Natuurlijk is een basis PHP check niet voldoende omdat je met de juiste headers hier makkelijk doorheen komt.Eerdere citaten tonen
Kingunit schreef:Stel voor ik heb een afschermde administrator omgeving. Je kan een gebruiker bijvoorbeeld aanpassen en via AJAX wordt er een request gedaan naar een andere pagina die de gegevens uiteindelijk in de database wijzigd.
Is het voldoende als ik op deze externe pagina gewoon controleer of de gebruiker ingelogd is of moet er nog meer te pas komen?
Gewoon op die Ajax pagina weer een check doen ja, dat is voldoende.
Shahiem schreef:Top, thanks. Dan doe ik:Ik wil deze externe pagina graag beveiligen. Natuurlijk is een basis PHP check niet voldoende omdat je met de juiste headers hier makkelijk doorheen komt.Eerdere citaten tonen
Kingunit schreef:Stel voor ik heb een afschermde administrator omgeving. Je kan een gebruiker bijvoorbeeld aanpassen en via AJAX wordt er een request gedaan naar een andere pagina die de gegevens uiteindelijk in de database wijzigd.
Is het voldoende als ik op deze externe pagina gewoon controleer of de gebruiker ingelogd is of moet er nog meer te pas komen?
Ja, en misschien checken of de gebruik genoeg rechten heeft d.m.v. rechten / permissies systeem
if logged in -> if $_SERVER[HTTP_X_REQUESTED_WITH] -> if isset post
Er is maar 1 admin layer dus dan komt het wel goed.
Wat je als extra beveiliging kunt gebruiken is een random token (die 24u o.i.d geldig is) en die vervolgens in een hidden field meesturen. Vervolgens sla je die ergens op, en check je die als het formulier verstuurd is. Als hij dan verstuurd is, ververs je de token en zorg je dat de oude niet meer geldig is.
Hiermee voorkom je dat iemand vanaf een andere locatie dan jouw pagina het formulier kan versturen, want deze persoon heeft niet de juiste token.
De token zet je gewoon in een hidden-input bij je formulier.
Voorbeeld: (niet getest!)
Gebruik:
Validatie:
Hiermee voorkom je dat iemand vanaf een andere locatie dan jouw pagina het formulier kan versturen, want deze persoon heeft niet de juiste token.
De token zet je gewoon in een hidden-input bij je formulier.
Voorbeeld: (niet getest!)
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/class"]class[/URL] Csrf [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] makeToken[COLOR= #007700]() {[/COLOR]
[COLOR= #0000BB]$max_time[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]60[/COLOR] [COLOR= #007700]*[/COLOR] [COLOR= #0000BB]60[/COLOR] [COLOR= #007700]*[/COLOR] [COLOR= #0000BB]24[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$csrf_token[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]];[/COLOR]
[COLOR= #0000BB]$stored_time[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token_time[/COLOR][COLOR= #007700]];[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR] [COLOR= #0000BB]$max_time[/COLOR] [COLOR= #007700]+[/COLOR] [COLOR= #0000BB]$stored_time[/COLOR] [COLOR= #007700]<=[/COLOR] [URL="http://www.php.net/time"]time[/URL][COLOR= #007700]() ||[/COLOR] [URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR] [COLOR= #0000BB]$csrf_token[/COLOR] [COLOR= #007700]) ) {[/COLOR]
[COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR] [URL="http://www.php.net/uniqid"]uniqid[/URL][COLOR= #007700]([/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700](),[/COLOR] true [COLOR= #007700]) );[/COLOR]
[COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token_time[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/time"]time[/URL][COLOR= #007700]();
}[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] isTokenValid[COLOR= #007700]([/COLOR] [COLOR= #0000BB]$field[/COLOR] [COLOR= #007700]) {[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$field[/COLOR] [COLOR= #007700]===[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]];
}
}[/COLOR]
?> Gebruik:
<input type="hidden" name="csrf_token" value="<?= Csrf::makeToken(); ?>"> Validatie:
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR] Csrf[COLOR= #007700]::[/COLOR]isTokenValid[COLOR= #007700]([/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]] ) ) {[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Valid[/COLOR][COLOR= #007700];
}[/COLOR] [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Nope[/COLOR][COLOR= #007700];
}[/COLOR] Jponsen schreef:Gebruik:Wat je als extra beveiliging kunt gebruiken is een random token (die 24u o.i.d geldig is) en die vervolgens in een hidden field meesturen. Vervolgens sla je die ergens op, en check je die als het formulier verstuurd is. Als hij dan verstuurd is, ververs je de token en zorg je dat de oude niet meer geldig is.
Hiermee voorkom je dat iemand vanaf een andere locatie dan jouw pagina het formulier kan versturen, want deze persoon heeft niet de juiste token.
De token zet je gewoon in een hidden-input bij je formulier.
Voorbeeld: (niet getest!)[COLOR= #0000BB]<?php[/COLOR] [URL="http://www.php.net/class"]class[/URL] Csrf [COLOR= #007700]{[/COLOR] [URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] makeToken[COLOR= #007700]() {[/COLOR] [COLOR= #0000BB]$max_time[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]60[/COLOR] [COLOR= #007700]*[/COLOR] [COLOR= #0000BB]60[/COLOR] [COLOR= #007700]*[/COLOR] [COLOR= #0000BB]24[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$csrf_token[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]];[/COLOR] [COLOR= #0000BB]$stored_time[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token_time[/COLOR][COLOR= #007700]];[/COLOR] [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR] [COLOR= #0000BB]$max_time[/COLOR] [COLOR= #007700]+[/COLOR] [COLOR= #0000BB]$stored_time[/COLOR] [COLOR= #007700]<=[/COLOR] [URL="http://www.php.net/time"]time[/URL][COLOR= #007700]() ||[/COLOR] [URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR] [COLOR= #0000BB]$csrf_token[/COLOR] [COLOR= #007700]) ) {[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR] [URL="http://www.php.net/uniqid"]uniqid[/URL][COLOR= #007700]([/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700](),[/COLOR] true [COLOR= #007700]) );[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token_time[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/time"]time[/URL][COLOR= #007700](); }[/COLOR] [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]]; }[/COLOR] [URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] isTokenValid[COLOR= #007700]([/COLOR] [COLOR= #0000BB]$field[/COLOR] [COLOR= #007700]) {[/COLOR] [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$field[/COLOR] [COLOR= #007700]===[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]]; } }[/COLOR] ?>
<input type="hidden" name="csrf_token" value="<?= Csrf::makeToken(); ?>"> Validatie:
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR] Csrf[COLOR= #007700]::[/COLOR]isTokenValid[COLOR= #007700]([/COLOR] [COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]csrf_token[/COLOR][COLOR= #007700]] ) ) {[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Valid[/COLOR][COLOR= #007700];
}[/COLOR] [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Nope[/COLOR][COLOR= #007700];
}[/COLOR] Dit kan je beter bij elk formulier doen
Dylan schreef:Klopt inderdaad. Voorkomt CSRF attacks.Dit kan je beter bij elk formulier doen