Veilige simpele login

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

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 in onderwijsland. Wat vragen

Bekijk vacature »

Fullstack JavaScript developer (ReactJS, NodeJS, T

Functie Het team bestaat momenteel uit ruim 15 collega’s, waarvan ruim de helft in het ontwikkelteam werkzaam is. Er zijn gave plannen om het platform ook te gaan toepassen op bijv. vliegvelden, maar ook internationale groei zit in het verschiet en daarom zijn ze op zoek naar versterking. Als Fullstack JavaScript developer werk je nauw samen met 9 fullstack (Python en .NET) developers. Binnen het team ga jij je toespitsen op het creeren van de optimale toegankelijkheid en user experience. Om dit voor elkaar te krijgen zul je ontwerpen, programmeren, testen en implementeren. Het hele proces dus! Maar ook bijvoorbeeld

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving In deze uitdagende functie als Software Developer ga je de volgende taken uitvoeren: Maatwerk back-end software programmeren; API koppelingen bouwen; Software optimaliseren voor klanten; Bouwen maatwerk applicaties; Werken met Microsoft stack zoals C#, .NET (Core) en Entity framework; Bedrijfsprofiel Je gaat werken bij een klein softwareontwikkelingsbureau, die maatwerk software bouwt voor klanten door heel Nederland. Dit doen zij al meer dan 20 jaar. Het is van oorsprong een familiebedrijf, opgezet door de eigenaar, die er nog steeds werkt. Het team bestaat vooral uit back-end developers en één systeembeheerder. Je krijgt veel kans om jezelf te ontwikkelen en krijgt tevens

Bekijk vacature »

Als PHP developer bijdragen aan beter onderwijs?

Functie Momenteel zijn ze op zoek naar een PHP developer die mee gaat werken aan de (door)ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP), Vue.js en

Bekijk vacature »

.NET Developer Senior

Dit ga je doen Het ontwikkelen van backend applicaties in C#; Het maken van vele koppelingen met andere ERP-applicaties zoals JD Edwards en SAP; Je bent (mede) verantwoordelijk voor het opstellen van technisch ontwerpen voor de te ontwikkelen software oplossingen; Je bent gemiddeld 90% van je tijd inhouse oplossingen aan het ontwikkelen en testen. De overige 10% van je tijd ben je bij klanten op locatie om oplossingen te implementeren, klanten te begeleiden en de software verder te innoveren; Naast het zelfstandig ontwikkelen van software oplossingen ben je ook bezig met het waarborgen van je contacten bij de klant, het

Bekijk vacature »

Remote - Front-end Angular developer

Functie The IT team currently consists of the IT Manager, 2 back-end developers, 1 full-stack developer, 1 designer, and a DevOps engineer. They are currently looking for an experienced Front-end developer who will work autonomously and in a disciplined manner, being the only developer working on their Front-end applications at the start. They do have the ambition to find a second developer soon, who you will then be able to supervise. You will be working on the further development of their existing UI in Angular. But also developing a mobile app. They place great value on User Experience and opt

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

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 »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

.NET developer

Functie Als .NET developer werk jij samen in een multidisciplinair ontwikkel team met 1-2 Senior .NET developers, twee front-end developers, Data Scientists en één UX designer. Als team werken jullie aan het ontwikkelen van een Cloud based applicatie en aan het stabieler maken van deze applicatie. Ook unit testing gaat erg belangrijk worden in jouw nieuwe functie. Samen met de Senior .NET ontwikkelaar wordt jij verantwoordelijk voor het ontwikkelen van de API. Jullie werken met veel data en incidenteel komen er ook data vraagstukken en zullen er wat queries gedraaid moeten worden. Dit betekend dat jij veel gaat werken met

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »
Yoeri Achterbergen

Yoeri Achterbergen

21/03/2016 15:47:54
Quote Anchor link
Hallo,


Graag had ik wat advies om een dashboard login veilig te maken.
Het graat hierom een dashboard waarvoor je je niet kunt registreren, dus voor vaste mensen.

index:
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
<html>
<head>
<title>Dashboard</title>
<link rel="stylesheet" href="css/style.css"></link>
</head>
<body>
<form action="" method="POST">
<input type="text" class="logscreen_fields" name="user" id="user" placeholder="Gebruikersnaam"></input>
<input type="password" class="logscreen_fields" name="password" id="password" placeholder="Wachtwoord"></input>
</form>
</body>
</html>


<?php
session_start();

if($_SERVER['REQUEST_METHOD'] == 'POST'){

$user = $_POST['user'];
$password = $_POST['password'];


$users = array(
    'Gebruikera' => 'wachtwoorda',
    'Gebruikerb' => 'wachtwoordb',
    'Gebruikerc' => 'wachtwoordc'
//enz.
);


if(isset($users[$user])){
if($password == $users[$user]){
$_SESSION['login-naam'] = $user;
$_SESSION['login'] = "success";
//en word doorgestuurd naar beveiligd epagina

}else{
echo 'Wachtwoord is onjuist bij deze gebruikersnaam';
}

}
else{
echo 'deze gebruiker is niet bij ons bekend.';

}
}

?>


securepage:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
session_start();
if ($_SESSION['login'] != "success")
    {

        header('Location: index.php');
        exit();
    }

?>



Gr. Yoeri
Gewijzigd op 21/03/2016 15:49:57 door Yoeri Achterbergen
 
PHP hulp

PHP hulp

25/04/2024 11:29:45
 
- Ariën  -
Beheerder

- Ariën -

21/03/2016 16:28:19
Quote Anchor link
En waarom je keuze voor vaste wachtwoorden? Ik vind dat niet bepaald veilig.
Want wat als iemand nou zijn wachtwoord laat slingeren, er achterkomt, en zijn wachtwoord niet zelf kan wijzigen? Moet hij dat hopeloos toezien dat iemand met kwaadwillige bedoelingen zonder zelf gerechtigd te zijn bedrijfinformatie kan inzien, wijzigen of verwijderen?
 
CNEPHP -

CNEPHP -

21/03/2016 16:35:57
Quote Anchor link
Er kan beter gekozen worden voor een systeem waar je met 1 account mee begint, dit account staat wel gewoon in de database met een hashed password. Dan raad ik aan om het wachtwoord (zoals Ariën hierboven aangeeft) te kunnen wijzigen binnen het systeem. En dat het ook mogelijk is om als admin (o.i.d.) accounts aan te maken/wijzigen/verwijderen. Op deze manier is het mogelijk om gebruikers die geen toegang mogen hebben tot het systeem weer te verwijderen.

Hopelijk heb je wat aan mijn advies, mochten er verder nog vragen zijn hoor ik het natuurlijk graag.
 
Yoeri Achterbergen

Yoeri Achterbergen

21/03/2016 19:48:45
Quote Anchor link
Bedankt voor de reactie's,

Als ik een admin account aanmaak, hoe kan ik dan het beste regelen dat dan de functie tevoorschijn komt om gebruiker te wijzigen / verwijderen of aan te maken?
Of maak je een hele andere omgeving hiervoor?
 
- Ariën  -
Beheerder

- Ariën -

21/03/2016 19:54:14
Quote Anchor link
Ik zou als eerste de accounts in de database opslaan, waarbij je het wachtwoord gehashed opslaat met password_hash. Het allersimpelst is een veld in de database die "is_admin" heet. Hierop controleer je dan of iemand admin is. Zo ja, dan geef je diegene extra rechten.

Als je meerdere rechten wilt hebben, voor diverse acties, dan loont het om eens te kijken naar een RBAC-rechtensysteem.
Gewijzigd op 21/03/2016 19:54:27 door - Ariën -
 
L deB

L deB

21/03/2016 19:59:36
Quote Anchor link
Ik mis filtering van de input... htmlspecialchars, trim etc...
 
Pipo Clown

Pipo Clown

21/03/2016 21:47:26
Quote Anchor link
L deB op 21/03/2016 19:59:36:
Ik mis filtering van de input... htmlspecialchars, trim etc...


Wat is het nut daarvan wanneer je alleen leest uit de database ?

Aangezien we geen verdere info hebben zou er, bij wijzigingen in de database, ook heel goed gebruik gemaakt kunnen worden van prepared statements.
 
Yoeri Achterbergen

Yoeri Achterbergen

21/03/2016 23:25:35
Quote Anchor link
Bedoelen jullie zoiets?

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
<html>
    <form action="" method="POST">
        <input name="passwod">
        <button type="submit">
            send
        </button>
    </form>
</html>

<?php

if($_SERVER['REQUEST_METHOD'] == 'POST'){
$password = $_POST['password'];
}


$passwordhash = password_hash('$password', PASSWORD_DEFAULT)."\n";


$doc = new_xmldoc('1.0');
$root = $doc->add_root('data');
$data->new_child('user','Gebruikera');
$data->new_child('password','$password');
fclose($fp);
?>
 
Thomas van den Heuvel

Thomas van den Heuvel

22/03/2016 13:58:31
Quote Anchor link
@Ariën etc., @Yoeri vraagt om een simpele loginfunctionaliteit.

Niet om een ledenbeheersysteem.
Niet om een rechten managementsysteem.

Er is een verschil tussen wat gevraagd wordt en wat de beantwoorders als ideale oplossing zien/aanleveren.

Ik zie zo gauw weinig mis met de oorspronkelijke oplossing, behalve misschien:
- de onversleutelde wachtwoorden, maar als je er over nadenkt, maakt het eigenlijk niet zoveel uit of deze versleuteld zijn of niet indien je de code in kan zien, er is dan mogelijk een andere zwakste schakel
- het controleren op het bestaan van een variabele, pas altijd eerst isset() toe voordat je de waarde van een variabele (die mogelijk helemaal niet bestaat) vergelijkt met iets anders
- het starten van sessies, het versturen van headers; dit dient te gebeuren voor verzending van enige output; wat ik op zijn minst zou doen is deze code opdelen in afzonderlijke "acties"

En later kun je bovengenoemde beheersystemen nog altijd toevoegen indien nodig. Wat als TS simpelweg een mockup wil? Tenzij je dit soort functionaliteit op de plank hebt liggen ga je deze systemen toch niet op voorhand schrijven?

In plaats van meteen weg te lopen met "dan moet je dit of dat doen" loont het misschien eerst de moeite om te vragen waar TS naartoe wil, nog voordat je zelf een kant op begint te rennen...
 
- Ariën  -
Beheerder

- Ariën -

22/03/2016 14:01:25
Quote Anchor link
Thomas van den Heuvel op 22/03/2016 13:58:31:
@Ariën etc., @Yoeri vraagt om een simpele loginfunctionaliteit.

Niet om een ledenbeheersysteem.
Niet om een rechten managementsysteem.


je leest hier blijkbaar overheen:
Yoeri Achterbergen op 21/03/2016 19:48:45:
Als ik een admin account aanmaak, hoe kan ik dan het beste regelen dat dan de functie tevoorschijn komt om gebruiker te wijzigen / verwijderen of aan te maken?
Of maak je een hele andere omgeving hiervoor?

Dan is een beheerpaneel in ieder geval een must, want je wilt zulke rechten niet direct via de database invoeren. Verder heb ik gezegd dat een RBAC-systeem altijd een optie is als je meerdere rechten wilt aanmaken.
 
Thomas van den Heuvel

Thomas van den Heuvel

22/03/2016 14:22:27
Quote Anchor link
- Ariën - op 22/03/2016 14:01:25:
je leest hier blijkbaar overheen:
Yoeri Achterbergen op 21/03/2016 19:48:45:
Als ik een admin account aanmaak, hoe kan ik dan het beste regelen dat dan de functie tevoorschijn komt om gebruiker te wijzigen / verwijderen of aan te maken?
Of maak je een hele andere omgeving hiervoor?

Het is onduidelijk of dat een reactie is op jullie voorstellen, of dat dat echt de oorspronkelijke bedoeling van TS was. Deze reactie kwam ook pas na jullie opmerkingen. Deze vraag is dus mogelijk gestuurd/een gevolg van de "gekozen" oplossing. Dat lijkt mij de verkeerde volgorde.

EDIT: in de oorspronkelijke opzet was namelijk helemaal geen sprake van accounts aanmaken, dit was een statische lijst gebruikers (waarbij geen onderscheid werd gemaakt tussen de verschillende gebruikers (of beheerders))!

@Yoeri: wat probeer je uiteindelijk te bereiken?
Gewijzigd op 22/03/2016 14:24:52 door Thomas van den Heuvel
 
Yoeri Achterbergen

Yoeri Achterbergen

22/03/2016 18:59:47
Quote Anchor link
Beste Thomas,

Aangezien er maar een beheerder is (ik zelf) dacht ik het zonder admin functies te doen, maar Ariën heeft mij wel iets van gedachte veranderd.
Natuurlijk moet het een simpele login blijven maar een admin account waarmee je snel en simpel gebruikers kunt wijzigen en/of aanmaken is natuurlijk wel handig mocht ik dit in de toekomst willen uitbreiden. Ik ben vandaag beetje bezig geweest en ben nu een xml file het genereren waar alle users instaan inclusief een password hash.

Ik kan de xml file dan met php herschrijven en als er ingelogd word php laten nakijken of de gegevens kloppen.
 
- Ariën  -
Beheerder

- Ariën -

22/03/2016 19:03:57
Quote Anchor link
Dat kan ook. Maar wat houdt je tegen om een echte database te gebruiken, zoals MySQL of SQLlite?
Gewijzigd op 22/03/2016 19:04:22 door - Ariën -
 
Jop B

Jop B

22/03/2016 19:17:59
Quote Anchor link
Beste Arien,


Wat zijn precies de verschillen tussen xml en MySQL?
MySQL maakt gebruik van tabellen en xml van elementen, komt dat niet ongeveer op het zelfde neer?
 
- Ariën  -
Beheerder

- Ariën -

22/03/2016 19:22:56
Quote Anchor link
Het werkt met queries (SQL), je kan er relaties mee aanleggen tussen tabellen. Gemakkelijk data opzoeken... etc....

Zeker een aanrader voor een inlogsysteem!
 
Jop B

Jop B

22/03/2016 20:45:46
Quote Anchor link
Wat is buiten de queries het verschil? Is het sneller, stabieler?
Met xml kun je toch ook met elkaar koppelen en zo verbanden met elkaar leggen?
 
- Ariën  -
Beheerder

- Ariën -

22/03/2016 20:55:41
Quote Anchor link
Het werkt sneller, en is stabieler, je hoeft je niet bezig te houden met een gestandariseerde makup van je XML.

Lees dit eens door:
https://nl.wikipedia.org/wiki/Database
https://nl.wikipedia.org/wiki/SQL
 
L deB

L deB

22/03/2016 22:31:59
Quote Anchor link
Pipo Clown op 21/03/2016 21:47:26:
L deB op 21/03/2016 19:59:36:
Ik mis filtering van de input... htmlspecialchars, trim etc...


Wat is het nut daarvan wanneer je alleen leest uit de database ?

Aangezien we geen verdere info hebben zou er, bij wijzigingen in de database, ook heel goed gebruik gemaakt kunnen worden van prepared statements.



Voor zover ik weet leest hij niet uit een database en zijn er wel meer mogelijkheden om een website te gebruiken in plaats van slechts sql injectie. Lijkt me bij een inlogsysteem dat je altijd input wil filteren, of je het nou haalt uit een bestand of de database. Maar goed als ik er helemaal naast zit en het geen nut heeft hoor ik het graag, serieus, dit is gewoon wat ik tot nu toe meen ervan begrepen te hebben.
 
Jop B

Jop B

22/03/2016 22:38:57
Quote Anchor link
Ik kwam op internet ook NoSQL databases tegen alleen is er weinig te vinden over het opzetten hiervan.
Heeft iemand hier ervaring mee?
 
L deB

L deB

22/03/2016 22:46:19
Quote Anchor link
Jop B op 22/03/2016 22:38:57:
Ik kwam op internet ook NoSQL databases tegen alleen is er weinig te vinden over het opzetten hiervan.
Heeft iemand hier ervaring mee?


Waarom zou je juist nou weer zo'n 1 uit 100 alternatief willen gebruiken?
 



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.