Beveiligingscontrole loginsysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Junior .NET developer

Functie Om half 9 kom jij binnen en pak jij als eerst natuurlijk een bakje koffie of thee. Vervolgens ga jij je voorbereiden op de stand-up van kwart voor 9. Zijn er bijvoorbeeld dingen waar jij nog tegen aan loopt? Of is er nog code die getest of gereviewd moet worden? Vervolgens starten jullie met de stand up en na de stand up zoeken jullie elkaar op en gaan jullie aan de slag. Als team met 6 developers werken jullie in drie wekelijkse sprints. Het einde van een sprint is altijd op een donderdag zodat jullie op vrijdag de demo

Bekijk vacature »

PHP ontwikkelaar

Functie Met een complex en uitgebreid e-commerce platform, een eigen PIM-systeem en eigen scan applicatie – krijg jij dagelijks te zien hoe jouw werk gebruikt wordt door miljoenen gebruikers. En we staan qua development pas in de startblokken, aangezien er nog meerdere projecten op de plank liggen te wachten! Ons huidige development team bestaat uit 8 programmeurs. Er wordt dagelijks gereflecteerd op geschreven code, Scrum taken en kennisdelen onderling is een must. Onze voertaal binnen ons team is Engels, dit omdat wij twee internationale collega’s hebben. Ons huidige “IT Landschap” bestaat voornamelijk uit allerlei losse onderdelen die individueel, maar ook

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Front-end Developer

Dit ga je doen Je komt in een DevOps-cultuur te werken waarbij je met je team werkt aan de front-end van diverse brand websites; Het ontwerpen van functionele en grafische ontwerpen die worden geïmplementeerd; Draagt zorg voor het maken van analyses; Je werkt nauw met je collega’s samen en geeft elkaar feedback en suggesties waar nodig; Het uitwerken van vraagstukken die afkomstig zijn van verschillende klanten; Hier ga je werken Deze marktleider op gebied van fietsen en fietservaring is gevestigd in twee provincies, verspreid over meerdere locaties. Jij zult voornamelijk in regio Joure aan de slag gaan. De organisatie doelt

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun

Bekijk vacature »

Back end developer Onderwijssoftware

Functie Als back end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van hoogwaardige

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Delphi Programmeur

Functie omschrijving Onze opdrachtgever is gespecialiseerd in kantoor-bedrijfssoftware en zit gevestigd in omgeving Numansdorp. Als programmeur ben jij bij dit bedrijf met het volgende bezig; Je vertaalt technische en functionele ontwerpen naar kwalitatieve software. Je ontwikkelt, ontwerpt en test software. Je maakt daarbij veel gebruik met de volgende tools & technologieën: Delphi 10.3 (Rio), QuickReport 6. Je krijgt in deze rol veel vrijheid en verantwoordelijkheid. Je levert projecten van A - Z op, en werkt daarbij projectmatig en gestructureerd. Bedrijfsprofiel Dit bedrijf richt zich op maatwerk software oplossingen. Deze software oplossingen worden ingezet in de financiële branche. Het betreft een

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

Pagina: 1 2 volgende »

Kevin de Groot

Kevin de Groot

15/12/2010 16:47:15
Quote Anchor link
Beste mensen,

Momenteel ben ik bezig om een veilig loginsysteem te bouwen voor een bekende van me. Nu luidt de vraag; is mijn beveiligingssysteem (redelijk) veilig?

- De gebruiker logt in met de gegevens op de loginpagina. Indien alles correct is zal het systeem de sessies aanmaken voor de gebruiker. Één sessie voor het gebruikersid, één voor het ip-adres en één voor de sleutel.

- Op een 'beveiligde pagina' wordt de gebruiker gechecked door middel van de functie die hieronder staat.

Note 1: de inlogpagina is volgens mij wel veilig, maar kan ik op verzoek ook wel even plaatsen.

Note 2: de functie werkt gewoon dus ik test hem wél.

Kortom; is deze functie veilig genoeg?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

function getLevel()
{

    if (isset($_SESSION['gebruikersid']) AND !empty($_SESSION['gebruikersid']) AND ctype_digit($_SESSION['gebruikersid']))
    {

        if (isset($_SESSION['ipadres']) AND !empty($_SESSION['ipadres']) AND $_SESSION['ipadres'] == $_SERVER['REMOTE_ADDR'])
        {

            if (isset($_SESSION['sleutel']) AND !empty($_SESSION['sleutel']) AND strlen($_SESSION['sleutel']) == 40)
            {

                $qSelect = mysql_query("SELECT gebruiker_actief
                                        FROM gebruikrs
                                        WHERE gebruiker_id = '"
. veiligeInvoer($_SESSION['gebruikersid']) ."'
                                        AND inlog_ipadres = '"
. veiligeInvoer($_SESSION['ipadres']) ."'
                                        AND inlog_sleutel = '"
. veiligeInvoer($_SESSION['sleutel']) ."'
                                  "
);
                                    
                if (mysql_num_rows($qSelect) == 1)
                {

                    $qFetch = mysql_fetch_assoc($qSelect);
                    
                    if ($qFetch['gebruiker_actief'] == 1)
                    {

                        return 1;
                    }

                    else
                    {
                        verwijderSessies();
                        return 0;
                    }
                }

                else
                {
                    verwijderSessies();
                    return 0;
                }
            }

            else
            {
                verwijderSessies();
                return 0;
            }
        }

        else
        {
            verwijderSessies();
            return 0;
        }
    }

    else
    {
        verwijderSessies();
        return 0;
    }
}


?>


Alvast bedankt.


Met vriendelijke groet,

Kevin de Groot
Gewijzigd op 15/12/2010 17:14:09 door Kevin de Groot
 
PHP hulp

PHP hulp

10/05/2024 07:51:48
 
PHP Scripter

PHP Scripter

15/12/2010 16:50:53
Quote Anchor link
Dit moet toch ook werken?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
function getLevel()
{

    if (isset($_SESSION['gebruikersid']) AND !empty($_SESSION['gebruikersid']) AND ctype_digit($_SESSION['gebruikersid']))
    {

        $sessie = false;
        
        if (isset($_SESSION['ipadres']) AND !empty($_SESSION['ipadres']) AND $_SESSION['ipadres'] == $_SERVER['REMOTE_ADDR'])
        {

            $sessie = false;
            
            if (isset($_SESSION['sleutel']) AND !empty($_SESSION['sleutel']) AND strlen($_SESSION['sleutel']) == 40)
            {

                $sessie = false;
                
                $qSelect = mysql_query("SELECT gebruiker_actief
                                        FROM gebruikrs
                                        WHERE gebruiker_id = '"
. veiligeInvoer($_SESSION['gebruikersid']) ."'
                                        AND inlog_ipadres = '"
. veiligeInvoer($_SESSION['ipadres']) ."'
                                        AND inlog_sleutel = '"
. veiligeInvoer($_SESSION['sleutel']) ."'
                                  "
);
                                    
                if (mysql_num_rows($qSelect) == 1)
                {

                    $qFetch = mysql_fetch_assoc($qSelect);
                    
                    if ($qFetch['gebruiker_actief'] == 1)
                    {

                        return 1;
                    }

                    else if ( $sessie = false )
                    {

                        verwijderSessie();
                    }
                }
            }
        }
    }
}
[
/code]
 
Kevin de Groot

Kevin de Groot

15/12/2010 16:53:04
Quote Anchor link
Volgens mij wel gewoon, toch? Is wel een stukje korter, maar goed, zal de functie veilig (genoeg) zijn?
 
Chris -

Chris -

15/12/2010 16:58:18
Quote Anchor link
Wat zijn de functies veiligeInvoer en verwijderSessie()?
 
Jordi Kroon

Jordi Kroon

15/12/2010 16:59:56
Quote Anchor link
is dat niet session_destroy();
heb je hem al getest? zoja ? en werkt hij ook
 
Obelix Idefix

Obelix Idefix

15/12/2010 17:00:01
Quote Anchor link
Kevin de Groot op 15/12/2010 16:47:15:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php

    if (isset($_SESSION['gebruikersid']) AND !empty($_SESSION['gebruikersid']) AND ctype_digit($_SESSION['gebruikersid']))
?>

Waarom die !empty controle; je controleert toch met isset al of session bestaat en met ctype controleer je of het een getal is?
Kevin de Groot op 15/12/2010 16:47:15:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if (isset($_SESSION['ipadres']) AND !empty($_SESSION['ipadres']) AND $_SESSION['ipadres'] == $_SERVER['REMOTE_ADDR'])
?>

Hiervoor hetzelfde; waarom die !empty controle?

Kevin de Groot op 15/12/2010 16:47:15:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
if (isset($_SESSION['sleutel']) AND !empty($_SESSION['sleutel']) AND strlen($_SESSION['sleutel']) == 40)

?>

Hiervoor hetzelfde; waarom die !empty controle?
En waarom in zoveel regels? Afgaande op de inhoud van de diverse else, kan het volgens mij gewoon in 1x.
Zorg voor foutafhandeling van je query.

Waar komt veiligeInvoer en verwijderSessie vandaan en wat doet die?

Daarnaast: er is verschil tussen AND en &&.
Gewijzigd op 15/12/2010 17:00:45 door Obelix Idefix
 
Kevin de Groot

Kevin de Groot

15/12/2010 17:04:33
Quote Anchor link
Ik controleer eerst of de sessie geset is, vervolgens of hij niet leeg is (want het is mogelijk dat een sessie geen waarde heeft) en daarna of het een legitieme karakter is (In dit geval 0-9).

De functie 'veiligeInvoer' ziet er als volgt uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

function veiligeInvoer($sInput)
{

    $sOutput = (function_exists('mysql_real_escape_string')) ? mysql_real_escape_string($sInput) : addslashes($sInput);
    
    return htmlentities($sOutput, ENT_QUOTES);
}


?>


De functie 'verwijderSessies' ziet er als volgt uit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

function verwijderSessies()
{

    if (isset($_SESSION['gebruikersid']))
    {

        $_SESSION = array();
        session_destroy();
    }
}


?>
 
Jordi Kroon

Jordi Kroon

15/12/2010 17:09:02
Quote Anchor link
zonder session_start(); werkt session_destroy(); ook niet
 
Kevin de Groot

Kevin de Groot

15/12/2010 17:12:43
Quote Anchor link
Jordi kroon op 15/12/2010 17:09:02:
zonder session_start(); werkt session_destroy(); ook niet


Het bestand waar deze functie in staat wordt d.m.v. een include 'toegevoegd' aan de index.php. In de index.php staat session_start();.
 
Kris Peeters

Kris Peeters

15/12/2010 17:14:36
Quote Anchor link
Obelix en Idefix op 15/12/2010 17:00:01:
... Waarom die !empty controle; ...



Kevin de Groot op 15/12/2010 17:04:33:
Ik controleer eerst of de sessie geset is, vervolgens of hij niet leeg is (want het is mogelijk dat een sessie geen waarde heeft)


De functie empty doet zelf al een isset check. Je mag dus empty() gebruiken zonder dat je eerst moet checken op isset().
 
Kevin de Groot

Kevin de Groot

15/12/2010 17:17:06
Quote Anchor link
Kris Peeters op 15/12/2010 17:14:36:
Obelix en Idefix op 15/12/2010 17:00:01:
... Waarom die !empty controle; ...



Kevin de Groot op 15/12/2010 17:04:33:
Ik controleer eerst of de sessie geset is, vervolgens of hij niet leeg is (want het is mogelijk dat een sessie geen waarde heeft)


De functie empty doet zelf al een isset check. Je mag dus empty() gebruiken zonder dat je eerst moet checken op isset().


Dit is nieuw voor mij, ik las zoiets dus net ook al op PHP.net. Ik zal het er meteen in verwerken. Dankje. Maar kunnen mensen (lees: hackers) ook eenvoudig inbreken?
 
Kevin de Groot

Kevin de Groot

17/12/2010 12:47:27
Quote Anchor link
Weet iemand of dit systeem enigzins "hackerproof" is?
 
Kris Peeters

Kris Peeters

17/12/2010 13:48:36
Quote Anchor link
htmlentities is een functie die je beschermt tegen (al dan niet kwalijke) html.
Kwestie dat mensen geen actieve html kunnen posten (post bv. dit: "</div></div></div>" en de kans is vrij groot dat je hele lay out naar de knoppen is).

htmlentities gebruik je dan ook bij het tonen van gegevens naar de client. De functie dient niet om je database te beschermen.

Ik zie dus niet goed wat dat daar komt te staan.

Ik zal zelf ook eens testen.

Nog iets: als je een integer verwacht, cast die dan naar int. Meer bescherming heb je niet nodig.

bv. WHERE gebruiker_id = '". (int) $_SESSION['gebruikersid'] ."'

----------------------------------
PS.
@ PHP Scripter:
else if ( $sessie = false ) {
Dit slaat nergens op.

Ten eerste hoort daar een dubbele =
Ten tweede, ik zie nergens $sessie = true; staan.
Gewijzigd op 17/12/2010 13:52:34 door Kris Peeters
 
Kevin de Groot

Kevin de Groot

17/12/2010 13:52:03
Quote Anchor link
Kris Peeters op 17/12/2010 13:48:36:
htmlentities is een functie die je beschermt tegen (al dan niet kwalijke) html.
Kwestie dat mensen geen actieve html kunnen posten (post bv. dit: "</div></div></div>" en de kans is vrij groot dat je hele lay out naar de knoppen is).

htmlentities gebruik je dan ook bij het tonen van gegevens naar de client. De functie dient niet om je database te beschermen.

Ik zie dus niet goed wat dat daar komt te staan.

Ik zal zelf ook eens testen.

----------------------------------
PS.
@ PHP Scripter:
else if ( $sessie = false ) {
Dit slaat nergens op.

Ten eerste hoort daar een dubbele =
Ten tweede, ik zie nergens $sessie = true; staan.




Dat heb ik gedaan voor overige invoer (voor bijvoorbeeld berichten) en dacht dat het geen kwaad zou doen om deze functie ook hier te gebruiken. Vandaar die htmlentities.

Edit: die htmlentities is voor TniyMCE.
Gewijzigd op 17/12/2010 13:53:11 door Kevin de Groot
 
Kris Peeters

Kris Peeters

17/12/2010 13:56:17
Quote Anchor link
(gepost vóór de laaste aanpassing vorige post)
Dan nog ...

Het is beter om data van gebruikers zo puur mogelijk op te slaan. Juist beschermen tegen injection.

Je moet dan wel telkens bij het tonen van de data elk veld controleren.

Een argument: stel dat een gebruiker zijn post wil aanpassen, dan zal hij niet snappen dat daar van alles staat dat hij niet zelf heeft gepost.
Gewijzigd op 17/12/2010 13:57:47 door Kris Peeters
 
PHP Scripter

PHP Scripter

17/12/2010 13:57:56
Quote Anchor link
@Kris. Hoezo dat slaat nergens op? Als je even goed kijkt zie je waarvoor het dient. En één typefoutje, yeah right.
 
Kevin de Groot

Kevin de Groot

17/12/2010 14:00:06
Quote Anchor link
Kris Peeters op 17/12/2010 13:56:17:
(gepost vóór de laaste aanpassing vorige post)
Dan nog ...

Het is beter om data van gebruikers zo puur mogelijk op te slaan. Juist beschermen tegen injection.

Je moet dan wel telkens bij het tonen van de data elk veld controleren.

Een argument: stel dat een gebruiker zijn post wil aanpassen, dan zal hij niet snappen dat daar van alles staat dat hij niet zelf heeft gepost.


Oké, ik kreeg het namelijk niet voor elkaar zonder die htmlentities. Maar beveiliging voor de database (injecties) kan dus gewoon beter met addslashes of mysql_real_escape_string, toch?
 
Kris Peeters

Kris Peeters

17/12/2010 14:03:24
Quote Anchor link
In jouw stuk script is $sessie altijd false. Heel erg spannend is die if conditie niet he.
De else doet al alles; die $sessie doet niets.
Gewijzigd op 17/12/2010 14:04:16 door Kris Peeters
 
PHP Scripter

PHP Scripter

17/12/2010 14:07:32
Quote Anchor link
Kris ik zie het, beetje onlogisch gedaan ja. Excuses!
 
Kevin de Groot

Kevin de Groot

17/12/2010 14:12:13
Quote Anchor link
Oké, ik heb wijzigingen doorgevoerd en het ziet er nu zo uit:

Note: ik heb de else-jes laten staan. Dit vind ik sowieso wat overzichtelijker.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

function mijnGebruikerslevel()
{

    if (!empty($_SESSION['gebruikersid']) AND ctype_digit($_SESSION['gebruikersid']))
    {

        if (!empty($_SESSION['ipadres']) AND $_SESSION['ipadres'] == $_SERVER['REMOTE_ADDR'])
        {

            if (!empty($_SESSION['sleutel']) AND strlen($_SESSION['sleutel']) == 40)
            {

                $gSelect = mysql_query("SELECT COUNT(gebruikersid) AS aantal_resultaten
                                        FROM gebruikers
                                        WHERE gebruiker_id = '"
. (int)$_SESSION['gebruikersid'] ."'
                                        AND gebruiker_actief = '1'
                                        AND login_ipadres = '"
. $_SESSION['ipadres'] ."'
                                        AND login_sleutel = '"
. $_SESSION['sleutel'] ."'
                                        ORDER BY gebruiker_id
                                        LIMIT 0,1
                                    "
);
                $gFetch = mysql_fetch_assoc($gSelect);
                
                if ($gFetch['aantal_resultaten'] == 1)
                {

                    return true;
                }

                else
                {
                    verwijderSessies();
                    return false;
                }
            }

            else
            {
                verwijderSessies();
                return false;
            }
        }

        else
        {
            verwijderSessies();
            return false;
        }
    }

    else
    {
        verwijderSessies();
        return false;
    }
}

function
verwijderSessies()
{

    if (isset($_SESSION['gebruikersid']))
    {

        $_SESSION = array();
        session_destroy();
    }
}


?>
 
Jordi Kroon

Jordi Kroon

17/12/2010 14:14:11
Quote Anchor link
waarom allemaal die verwijdersssies(); ?

ik kan het mishebben maar is dat niet overbodig
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.