Beveiligingscontrole loginsysteem

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

Java Developer

Dit ga je doen Als Java Developer ben je verantwoordelijk voor: Het ontwikkelen van nieuwe en bestaande webservices; Het uitbreiden van functionaliteiten binnen de producten- en dienstenportefeuille; Het werken aan gegevensuitwisseling met bijvoorbeeld SOAP; Testen van frameworks met gebruik van UNIT en Selenium. Hier ga je werken De organisatie waar je komt te werken is een semi-overheidsinstelling, gesitueerd in Utrecht en zorgt voor een goede samenwerking tussen verschillende overheidsinstanties. Het is een familiaire club die gaat voor kwaliteit en langdurige relaties. Zo zorgen zij ervoor dat er op grote schaal vertrouwelijke informatie tussen verschillende overheidsinstellingen wordt uitgewisseld. Hun werk zorgt

Bekijk vacature »

Junior Software developer

Functie Als junior .NET ontwikkelaar start jij in een compact team met drie ervaren .NET ontwikkelaars. Wij werken op projectbasis en begeleiden zelf het hele traject van A tot Z. Wij bieden jou dan ook een brede functie aan met veel technische uitdaging! Ons traject ziet er als volgt uit: 1) Wij analyseren de behoefte van onze klant 2) Wij werken de behoefte uit en vertalen dit naar technische werkzaamheden en maken een uren/kosten schatting; 3) Wij gaan aan de slag met het ontwikkelen van het product met directe feedback van de klant, zodat datgene gerealiseerd wordt, wat gewenst is;

Bekijk vacature »

Software Developer .NET

Functie omschrijving .NET developer gezocht! Wij zoek op zoek naar een .NET Developer die zich niet uit het veld laat slaan voor een software bedrijf in de regio Veenendaal. Je gaat in deze functie aan de slag met het door ontwikkelen van bestaande producten en het ontwikkelen van nieuwe producten. Dit bedrijf ontwikkeld SaaS applicaties die zowel intern als extern gebruikt worden. Verder bestaat je functie uit: Het ontwikkelen en bouwen van webapplicatie, mobiele applicaties en websites vallen onder jouw verantwoordelijkheden; Werken met onder andere .NET, C#, HTML/CSS, Javascript en MSSQL/Oracle Databases; Hierin werk je samen met andere developers en

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

C# .NET Developer IoT SQL Server

Samengevat: Wij ontwikkelen innovatieve oplossingen om apparaten en bezittingen op een eenvoudige en flexibele manier te beveiligen. Ben jij een C# .NET developer? Heb jij ervaring met C# en SQL server? Vaste baan: C# .NET Developer IoT HBO €3.200 - €4.500 Deze werkgever is gespecialiseerd in hoogwaardige GSM/GPRS alarm- en telemetrietechnologie. Met een eigen productlijn en klantspecifieke ontwikkelingen biedt deze werkgever oplossingen om op afstand te meten, melden, loggen en aansturen, ook op plaatsen zonder stroomvoorziening. Onze producten worden gekarakteriseerd door flexibiliteit in de configuratie, betrouwbaarheid en een extreem laag stroomverbruik. Zij werken voor MKB klanten. Deze werkgever heeft veel

Bekijk vacature »

C# .NET Backend Developer HBO Javascript

Samengevat: Deze werkgever is een professionele speler op gebied van IT en E-Commerce. Wil jij werken voor een e-commerce platform? Heb je ervaring met C#, Javascript en Scrum? Vaste baan: C# .NET Developer Backend E-Commerce 3.400 - 4.500 Backend Developer Wij ontwikkelen software voor E-Commerce toepassingen. Ons eigen Content Management systeem biedt een integrale oplossing met diverse ERP software. Onze systemen zijn vaak complex en omvangrijk en draaien bij grote organisaties. Maar ook kleine ondernemingen hebben steeds vaker behoefte aan een vlekkeloos werkende E-Commerce oplossing. Zij bieden een uitdagende werkomgeving met gezellige collega's. Je krijgt veel vrijheid en er is

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Softwareontwikkelaar Cleopatra

Functieomschrijving: De directie Verkeer en Openbare ruimte van de gemeente Amsterdam beschikt over een softwareapplicatie, "Cleopatra", waarmee geautomatiseerde handhaving plaatsvindt (op basis van kentekenherkenning) van bepaalde gebieden waarin toegangseisen worden gesteld aan het verkeer. Voorbeelden ervan zijn de milieuzones, de zone zwaar verkeer, handhaving van bromen snorfietser op het fietspad en autoluwe gebieden. Voor de doorontwikkeling en uitbreiding ervan zijn gespecialiseerde softwareontwikkelaars nodig die helpen bij het programmeren van de handhavingsmodules voor nieuwe gebieden en het verbeteren en bijwerken van de bestaande onderdelen van de softwareapplicatie.De opdracht bestaat uit: het programmeren van de diverse modules;het tijdens demo's tonen van de

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Medior Java developer

Wat je gaat doen: 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 je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

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

27/04/2024 18:38:26
 
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.