Vraag over CSS en over Cookies
Ik heb 2 vragen:
Mijn eerste vraag gaat over cookies, als ik een cookie plaats voor het inloggen dan doe ik dit met een hash en de gebruikersnaam, nu zou ik daar iets aan willen toevoegen functie zodat ik die niet telkens bij het openen van een pagina moet laden, maar ik vraag me af of iemand die functie dan kan wijzigen om zo bepaalde persmissies te krijgen die hij/zij eigenlijk niet mag hebben.
En mijn tweede vraag gaat over een css probleem:
Ik heb het nagemaakt:
http://jsfiddle.net/bq3173fL/
Ik zou graag hebben dat de fieldset rechts wordt uitgelijnd ipv links, maar float:right werkt niet en heeft een zeer vreemd effect.
Alvast bedankt voor jullie hulp!
Antwoord op css vraag: zet de label in een div, en dan geef je die text-align:right;
Alvast bedankt!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
html, body {
min-height: 100%;
}
#container {
margin: 75px auto 0px;
padding: 10px 20px 0px;
background-color: #FFF000;
height:100%;
overflow: hidden;
}
#wrapper {
width:305px;
margin:40px 0 40px 0;
float: right;
}
fieldset {
background-color:#FFFFFF;
opacity:0.9;
padding:20px 20px 10px 20px;
}
min-height: 100%;
}
#container {
margin: 75px auto 0px;
padding: 10px 20px 0px;
background-color: #FFF000;
height:100%;
overflow: hidden;
}
#wrapper {
width:305px;
margin:40px 0 40px 0;
float: right;
}
fieldset {
background-color:#FFFFFF;
opacity:0.9;
padding:20px 20px 10px 20px;
}
Iemand een idee over die cookies?
Kan je uitleggen wat je precies bedoelt met: 'nu zou ik daar iets aan willen toevoegen functie zodat ik die niet telkens bij het openen van een pagina moet laden'?
bedankt voor je reactie wel;
Afhankelijk van de functie van een gebruiker krijgt deze permissies: ik heb 3 soorten gebruikers: Guests (Rang 0), Users (Rang 1) en Admins (Rang 2). Bij het laden van een pagina/ refreshen van een pagina ga ik nu steeds ophalen uit de database welke Rang deze persoon heeft om dan de nodige zaken te laten verschijnen op de pagina. Ik vraag me nu af of ik bij het inloggen bij de cookie gewoon de rang kan mee opslaan, zodat deze niet telkens opgehaald worden. Maar daarvoor moet ik zeker zijn dat je niet in de cookie zelf de Rang kan gaan aanpassen van bijvoorbeeld 1 naar 2.
Alvast bedankt
Dus het is zeker niet aan te bevelen om hier data in op te slaan die toebehoren bij bepaalde rechten.
Een userID en een uniek hash-id die niet afleidbaar is van andere informatie is het enige wat voor een inlog-cookie interessant is.
Quote:
Bij het laden van een pagina/ refreshen van een pagina ga ik nu steeds ophalen uit de database welke Rang deze persoon heeft om dan de nodige zaken te laten verschijnen op de pagina.
Dat is sowieso een goed idee, anders blijven deze permissies "hangen" totdat een gebruiker is uitgelogd. Het is daarom ook niet verstandig om deze informatie op te slaan in je sessie, je hebt dan namelijk hetzelfde probleem.
Sla enkel het user id op in je sessie, en haal je user credentials bij elke page refresh op en stop deze in een user-object die elke page-access opnieuw wordt opgebouwd.
Quote:
Een userID en een uniek hash-id die niet afleidbaar is van andere informatie is het enige wat voor een inlog-cookie interessant is.
Ik zou een user id niet (meer) in een cookie opslaan.
Als je op een vaste PC een login wilt onthouden kun je volstaan met een cookie waarin enkel een hash staat. Je database kan de rest onhouden (hash ter identficiatie, IP, houdbaarheid èn user id).
Wat is er mis met het opslaan van een UserID. Het voorkomt in ieder geval dat er onverhoopt (door een programmeerfout) twee dezelfde hashes uitgedeeld zijn, waarbij iemand opeens ingelogd is onder een andere gebruiker.
Het is simpelweg niet nodig om een user id toe te voegen, in die zin dat het veiliger zou zijn, wat het niet is. Of je deze informatie nu in het cookie stopt of in je database maakt hiervoor niet uit. Wel ontsluit je (op voorhand) minder informatie als je het user id niet in je cookie stopt. Je maakt hiermee je "attack surface" kleiner, en je oplossing minder complex. Wat in zekere zin de veiligheid ten goede komt.
Je hanteert ook een beetje een drogredenering, je zegt in feite: als het loginmechanisme niet veilig is kun je zomaar inloggen als iemand anders!
Mja :)q
Gewijzigd op 28/07/2015 19:49:50 door Thomas van den Heuvel
Wat voor veiligheidsgebreken zie jij aan een userID in een cookie dan?
Zoals ik al zei, het is in principe niet meer of minder veilig, het lijkt mij vooral overbodig.
Complexiteit in je applicatie kan deze onveiliger maken, je zou dus moeten streven naar een zo simpel mogelijke oplossing. De kunst van het weglaten, zeg maar.
Als je een functionaliteit wilt hebben waarbij je iemand op een of andere manier weer automatisch inlogt dan zul je deze gebruiker op een of andere manier (en volgens een in enige mate veilig principe) moeten identificeren. Maar dat betekent niet dat je er hoe dan ook bij moet vertellen wie dit is.
Je wilt waarschijnlijk ook zo min mogelijk controle (van identificeerbare elementen) aan de clientzijde aanbrengen. Dit is mogelijk een van de weinige plaatsen waar een zekere mate van "security-through-obscurity" geoorloofd is denk ik. Geef gewoon niet meer informatie prijs dan strict noodzakelijk, dat lijkt mij geen slecht principe.
Tevens: tis maar net wat je met deze cookies kan, als het is om een profiel te hebben waarmee je wat voorkeuren kan opslaan: I couldn't care less, maar als je hiermee toegang hebt tot de beheerpagina's van een CMS of andere complexe backend... No way dat je dan een user id in een cookie gaat opslaan...
Misschien is het meer een gevoelskwestie maar ik heb zoiets van: complexer dan strict noodzakelijk, niet nodig, weglaten.
Bedankt voor de reacties, laten zoals het is dus.