Beetje hulp

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer Medicatie / Apotheek

Jij krijgt een kick van het ontwikkelen van complexe software. Voor onze vestiging in Hoogeveen zoeken wij een .NET Developer Medicatie / Apotheek die graag met de laatste Microsoft-tools en -technieken wilt werken, interessant? Jouw baan Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van de module Medicatie / Logistiek & Apotheek. Je gaat nauw samen werken met zowel interne als externe klant om nieuwe functionaliteiten te ontwikkelen om onze klanten te ondersteunen in hun werkproces. Het gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. ChipSoft maakt gebruik van een zelf

Bekijk vacature »

.NET Developer

.NET Developer De uitgebreide versie Jij hebt ruim twee jaar ervaring als developer. Nu wil je graag je tanden zetten in nog complexere projecten. Samen met je team bereik je nieuwe hoogtes en zelfstandig maak je meters. Je hebt behoefte aan collegae die jou alles leren op het gebied van technologie maar wilt tegelijkertijd ook graag je eigen opgedane kennis delen. Alles wat vandaag nog onbekend is, moet je morgen toepassen in de volgende uitdaging en dàt is wat jou scherp houdt. Je hebt geen zin in een 60-urige werkweek maar haalt wel plezier uit zo nu en dan een

Bekijk vacature »

Software Consultant Integratie

In een sector waarin de ontwikkelingen op het vlak van zorg-ICT in stroomversnelling zitten, biedt ChipSoft een ultramodern en ziekenhuisbreed geïntegreerd elektronisch patiëntendossier. Dankzij ons groeiende marktaandeel in België is ChipSoft op zoek naar nieuwe collega’s. Jouw job Artsen gebruiken – voor bijvoorbeeld oogmetingen – hoogtechnologische gespecialiseerde apparatuur. Als Software Consultant Integratie zorg jij dat onze software perfect communiceert met de apparatuur en systemen van andere leveranciers. Je brengt in kaart welke koppelingen en interfaces nodig zijn, implementeert de beste oplossingen en geeft intern en extern de juiste adviezen. Bestaan er nog geen specificaties van een koppeling? Dan steek jij

Bekijk vacature »

Support medewerker (1e lijns)

Wat zijn je taken? Als support medewerker werk je vanuit onze locatie in Dodewaard en ben je verantwoordelijk voor de 1e lijns IT support aan onze klanten, waaronder het oplossen van vragen en problemen met betrekking tot applicaties, netwerkcomponenten, Microsoft 365 en andere diensten. Je beantwoord vraagstukken direct via de supportdesk of zet diepgaande vragen door naar de 2e lijns support. Daarnaast houd je je bezig met het up-to-date houden van onze beheerdiensten, het monitoren van netwerken en de controle van back-ups. Wat verwachten we van jou? Je hebt een relevante opleiding afgerond en brede interesse in de ICT Je

Bekijk vacature »

Software Ontwikkelaar

Functieomschrijving Ben jij de Software Ontwikkelaar met 5 tot 10 jaar ervaring en heb je daarnaast ervaring met elektronica en pcb-platen? We vertellen graag meer over deze functie. Coderen en programma’s ontwerpen doe jij met je ogen dicht. Jij hebt alles in huis om applicaties zelfstandig slimmer dan voorheen te maken. Wat valt er nog meer als Software Ontwikkelaar onder je takenpakket? - Ontwerp, implementatie en testen van software modules op het gebied van betaalautomaten - Analyseren van veldproblemen - Ontwikkelen en opbouwen van kennis binnen het vakgebied - Integreren van software modules in het eindproduct - Deelnemen aan testen

Bekijk vacature »

Senior Java Developer vacature

Senior Java Developer Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Bijvoorbeeld met de ontwikkeling van de Rabobank-app, een verbetering van de beveiliging van treinen voor Pro-rail of geef je een boost aan de website van ING! Focus op Java Wij bouwen State of the Art applicaties met de nieuwste Java technologie en frameworks. Dit doen we door ons te richten op de open source-oplossingen binnen de wereld van Java, alle nieuwe ontwikkelingen te volgen en onze kennis te delen binnen onze eigen

Bekijk vacature »

SharePoint Developer

SharePoint Developer Voor onze opdrachtgever zijn wij op zoek naar een ervaren SharePoint Developer. Krijg jij energie van het werken in een team met collega’s die net als jij een passie voor techniek hebben en waar je kunt experimenteren met de laatste Microsoft technologieën zoals SharePoint Online, Powerplatform en Office 365? Lees dan snel verder! Als SharePoint Developer bouw je in teamverband aan grote, innovatieve Office 365 implementaties. Je vindt het gaaf om met je (internationale) team of met je interne stakeholder te sparren over de beste manier om SharePoint in te zetten. Zo help je onze opdrachtgever bijvoorbeeld met

Bekijk vacature »

Developer / Techneut / Oracle APEX / Ondernemend

Functieomschrijving Ben jij een echte Techneut die het leuk vindt om in verschillende talen te ontwikkelen waarbij je als Ontwikkelaar te maken krijgt met 500 TB aan storage? Lees dan snel verder! Verbeteren van bestaande product; Ontwikkelen nieuwe modules; Achterhalen requirements bij de klanten; Installatie op locatie; Verwerken van maatwerk verzoeken. Functie-eisen Hbo-werk- en denkniveau; Minimaal 3 jaar relevante werkervaring; Kennis en ervaring van Oracle, het liefst Apex; Je bent bekend met Elasticsearch; Je bent ondernemend en communicatief vaardig. Bedrijfsomschrijving Binnen deze organisatie zal je terecht komen in een team van 7 techneuten. Wat al deze techneuten kenmerkt, is dat

Bekijk vacature »

Software Engineer/Integrator

A four-year position is available for an enthusiastic Software Engineer/Integrator The Hague, 30.4 - 38 hours a week Vacancy number: AT2020-071 What is the project you will be working on? You will be part of a project from ODISSEI – the Open Data Infrastructure for Social Science and Economic Innovations. Together with the project partners, you will work towards providing a shared social science research infrastructure and accelerate the development of computational social science in the Netherlands. Specifically, the task you will focus on pertains to deploying a portal that provides uniform access to social science (meta)data from various large

Bekijk vacature »

Senior .Net Developer Duurzaamheid Maatwerkapplica

Functieomschrijving Ben je een ervaren .NET Developer en ben je op zoek naar een uitdagende rol met veel vrijheid? Wil jij aan de slag bij een bedrijf die duurzaamheid hoog in het vaandel heeft staan? Lees dan snel verder! Van scratch af aan applicaties bouwen; Testen van jouw code door middel van het uitvoeren van unittesten; Bug fixing; Contact onderhouden met klanten met klanten betreffende de door jouw ontwikkelde applicaties; Verbeteren en door ontwikkelen van maatwerkapplicaties. Functie-eisen Een afgeronde hbo/wo opleiding; Minimaal vijf jaar ervaring als fullstack .NET Developer; Uitgebreide technische kennis met oog voor praktische oplossingen; Ruime kennis van

Bekijk vacature »

OpenEdge Developer / #1 software leverancier binne

Functieomschrijving Ben jij een ervaren OpenEdge Developer die graag nog nieuwbouw ontwikkelt? Wil je daarnaast jouw hersenen kraken voor het automatiseren van complexe bedrijfsprocessen? Lees dan snel verder en kom erachter of deze rol als OpenEdge Developer iets voor jou is! Uitvoeren van analyses ter bevordering van de betrouwbaarheid en performance van de bedrijfskritische applicatie; Meedenken over de architectuur en tevens waarborgen van de OpenEdge architectuur; Troubleshooten van complexe incidenten; Je deelt graag je kennis aan je collega’s; Maken van ontwerpen, schrijven van documentatie en het testen van de OpenEdge applicatie; Implementeren van nieuwe functionaliteiten en het verzorgen van nazorg.

Bekijk vacature »

C# developer

Op zoek naar leuke collega's waarmee je kunt lachen, gave projecten en een ambitieuze werkgever die heel goed voor je zorgt? Aangenaam: Profit4Cloud! Wij zijn nu met 55 collega's en werken sinds 2015 vanuit 5 vestigingen aan mooie projecten met een fijne groep collega's die allemaal maar één ding willen: mooie en slimme software-oplossingen ontwikkelen met de nieuwste technieken. We zijn goed bezig en zijn daarom op zoek naar versterking: Medior C# developers. Ben jij de Medior C# developer die enthousiast wordt van mooie projecten waar binnen jij een belangrijke rol speelt? Dan is Profit4Cloud jouw 'place-to-be'! Als Medior C#

Bekijk vacature »

Progress Developer / #1 software leverancier binne

Functieomschrijving Ben jij een ervaren Progress Developer die graag nog nieuwbouw ontwikkelt? Wil je daarnaast jouw hersenen kraken voor het automatiseren van complexe bedrijfsprocessen? Lees dan snel verder en kom erachter of deze rol als Progress Developer iets voor jou is! Uitvoeren van analyses ter bevordering van de betrouwbaarheid en performance van de bedrijfskritische applicatie; Meedenken over de architectuur en tevens waarborgen van de architectuur; Troubleshooten van complexe incidenten; Je deelt graag je kennis aan je collega’s; Maken van ontwerpen, schrijven van documentatie en het testen van de Progress applicatie; Implementeren van nieuwe functionaliteiten en het verzorgen van nazorg. Aanroepen

Bekijk vacature »

Java developer junior

Functie­omschrijving "Je leert zo veel als developer. En de kennis die je opdoet, gebruik je meteen in projecten mét maatschappelijke relevantie. Dat is gaaf!" Mardon Peterson - Ontwikkelaar bij de Belastingdienst. Onze 300 Java-developers realiseren applicaties die direct van grote invloed zijn op de Nederlandse samenleving. De online aangifteapplicatie is er een waarmee we miljoenen mensen bereiken en waarmee we zelfs de Computable Award in de wacht hebben gesleept. Onze Java-ontwikkelaars werken ook voor de Douane of de FIOD van de Belastingdienst. Dat gebeurt in zon zeventig groot- en kleinschalige projecten in bijna honderd multidisciplinaire scrum-teams. We werken in een

Bekijk vacature »

Technisch Ontwerper / Applicatie Ontwikkelaar

Technisch Ontwerper / Applicatie Ontwikkelaar Actief Wat ga je doen? Als Technisch Ontwerper / Applicatie Ontwikkelaar kom je te werken bij onze gerenommeerde klanten op projecten of opdrachten van omvang en formaat. Je bent verantwoordelijk voor het omzetten van functionele specificaties naar een technisch ontwerp, het ontwerp van programmaspecificaties voor toepassingen, de realisatie van (gewijzigde) programmaonderdelen en databestanden van toepassingen en de technische systeemtest van applicatietoepassingen. Daarnaast geef je vorm aan webpagina’s en applicaties, stel je gebruikersdocumentatie op en verleen je ondersteuning bij het oplossen van productiefouten. Tevens ben je verantwoordelijk voor het samenstellen en onderhouden van de applicatie c.q.

Bekijk vacature »
Sander Vanier

Sander Vanier

11/03/2011 14:37:21
Quote Anchor link
Beste Leden,

Ben druk bezig met het leren van PHP en loop tegen een probleempje aan wat ik op Google niet gauw terug kan vinden (gebeurd niet vaak :) ), waarschijnlijk omdat ik niet op de juiste termen zoek. Ik heb een register/login script met activatiemail nu werkend. Op het moment dat iemand
inlogd, wordt gecheckt of het klopt en een session aangemaakt, zo dus:

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
}
        // bekijk of het formulier verzonden is en de gegevens juist zijn
    elseif ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"])
    {
        // encrypt pass om te matchen met encrypte pass in de database
        $passwd = md5($HTTP_POST_VARS[pass]);
        
        // selecteer login/pass uit de database en match ze met ingevoerde gegevens
        $sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]' AND pass = '$passwd' AND activeer IS NULL";
        $res = mysql_query($sql);
        
        // bekijk of de gegevens juist zijn
        if (mysql_num_rows($res) >= 1)
        {
            // registreer sessie (of cookie)
            $ingelogd = mysql_result($res, 0);
            session_register(ingelogd);
            // setcookie("ingelogd", "$ingelogd", time() + 1 * 86400);
            echo "<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\">
            U bent succesvol ingelogd.</p>";

            echo "<p style=\"font-family: Arial, Helvetica, sans-serif; font-size: 13px; color: #000000;\">
            Klik hier om <a href=\"home.php\">verder</a> te gaan.</p>";
                        
        }
        // zo niet, geef foutmelding
        else
        {


Dit script gaat nog verder, maar is niet zo van belang. Nu beveilig ik de pagina's zo:

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
<?php
    session_start();
    
$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name
$tbl_name="voorbeeld_gebruikers"; // Table name

// Connect to server and select databse.

mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

  if (!$HTTP_SESSION_VARS["ingelogd"])
    {

        header("Location: login.php");
}


?>


Mijn vraag is: Ik wil op de homepage zeggen, welkom 'Naam'. Deze naam staat in dezelfde rij in de tabel als de account (bijv 64010722). Hoe roep ik deze aan? Ik wil
dus niet welkom 'Account', ik wil daadwerkelijk de naam die ze opgegeven bij het registeren.

Hopelijk (en ik twijfel er eigenlijk niet aan) weet iemand de oplossing! :)

Alvast Bedankt
Sander
Gewijzigd op 11/03/2011 15:24:09 door Sander Vanier
 
PHP hulp

PHP hulp

08/07/2020 09:54:31
 
Write Down

Write Down

11/03/2011 14:41:44
Quote Anchor link
Je code is brak en nu al verouderd. Zoek maar is naar superglobals. Kan je even de link geven naar je script? Ik ga je even een onveiligheid bewijzen. Eens ik je dat kan tonen zal ik je laten zien wat er beter kan. Ik wil je eerst even laten verschieten, zodanig dat je de fout nooit meer zal maken :-).
Gewijzigd op 11/03/2011 14:44:34 door Write Down
 
Sander Vanier

Sander Vanier

11/03/2011 14:50:15
Quote Anchor link
Staat op de schoolserver waar niet iedereen zomaar bij kan, maar ik hoor natuurlijk graag van je waar een groot gevaar schuilt. Ik weet dat er enige verouderde code inzit, maar ik het het script hiervandaan en de maker heeft het waarschijnlijk wat ouder geschreven. Ik heb het enkel aangepast naar mijn eigen situatie, wat dingen toegevoegd en wat dingen verwijderd ;)
 
Write Down

Write Down

11/03/2011 14:54:21
Quote Anchor link
Vul als wachtwoord een keertje 'OR1=1 in en geef alle resultaten weer. Wat zien we: alle users worden getoond!

Of nog leuker, vul is in '; DROP TABLE '$table' (of DROP TABLE users) Boem, te tabel is verwijderd ;-)

mysql_real_escape, google. Verder google ook is superglobals, pas je script aan. Dan pas is het interessant om je verder te helpen met je eigenlijke vraag.




Toevoeging op 11/03/2011 14:55:49:

PHP Beginnershandleiding
SQL Beginnershandleiding
 
Kris Peeters

Kris Peeters

11/03/2011 15:12:22
Quote Anchor link
Write Down op 11/03/2011 14:54:21:
Vul als wachtwoord een keertje 'OR1=1 in en geef alle resultaten weer. ...


Je vergist je.
het paswoord wordt door md5() gehaald. md5() geeft een resultaat weer dat 100% injection veilig is.


Dit gezegd zijnde ... er is inderdaad veel werk aan. Verouderde technologie, foute logica (bv. controleren op de post van de submit knop)...
Gewijzigd op 11/03/2011 15:15:06 door Kris Peeters
 
Wouter J

Wouter J

11/03/2011 15:16:38
Quote Anchor link
Je code zit inderdaad vol fouten en lekken:
- Je moet altijd goede foutafhandeling gebruiken op de mysql_* functies.
- Kijken of een formulier gepost is doe je zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
  # Verzonden
}
?>

- Gebruik superglobals. Voor fomulieren is dat $_POST en voor sessies is dat $_SESSION
- Voeg een salt toe aan het wachtwoord.
- Variabelen moeten buiten de quotes

En haal even je gebruikersnaam + wachtwoord weg. Dit staat nu al een tijdje op internet en dus ook in de cache van google, verander dit dus.
Gewijzigd op 11/03/2011 15:16:52 door Wouter J
 
Sander Vanier

Sander Vanier

11/03/2011 15:22:15
Quote Anchor link
Injection is dus niet meer aan de orde, wat betreft de superglobals, deze kunnen inderdaad wel vervangen worden. Salt toevoegen aan ww? Doet dit niet hetzelfde als md5? Toevallig iemand ook het antwoord op mijn originele vraag? :$

Sander
Gewijzigd op 11/03/2011 15:27:30 door Sander Vanier
 
Kris Peeters

Kris Peeters

11/03/2011 15:34:21
Quote Anchor link
Sander Vanier op 11/03/2011 15:22:15:
Injection is dus niet meer aan de orde, wat betreft de superglobals...


Wow, niet te vlug he.

Wat ik zeg, is dat $passwd beveiligd is tegen injectieon omdat je de string door md5() hebt gehaald.

Met superglobals moet je juist heel erg opletten. Altijd!

Wat je initiële vraag is ...
We gaan je niet de weg wijzen door een doodlopende straat.
Smijt dat allemaal weg en begin opnieuw. Begin ook onmiddellijk met php5
 
Sander Vanier

Sander Vanier

11/03/2011 15:43:19
Quote Anchor link
Wat is de meerwaarde van de Superglobals dan? Deze code is onder andere tot stand gekomen in de klas en ik verwacht niet dat dit script ooit in gebruik zal worden genomen. Er zitten al een hoop
uurtjes in alle code die berust op wat ik hier gepost heb en dit alles veranderen zie ik niet zitten. Mochten jullie geen antwoord willen geven op mijn vraag, dan wil ik jullie in ieder geval bedanken voor de hulp tot zover en zal ik mijn vraag ergens anders neer moeten gaan zetten. Misschien dan zonder de initiële code ;)

Sander
 
Kris Peeters

Kris Peeters

11/03/2011 16:07:07
Quote Anchor link
Kijk even naar een algemeen geraamte, wanneer je met de verwerking van posts werkt.

Je zal bijna altijd zo-iets doen:
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
<?php
session_start();

$host="localhost"; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$db_name=""; // Database name

if ($_SERVER['REQUEST_METHOD'] == "POST") {  // nooit controleren op de waarde van de submit knop, maar op de request method zelf
    // verwerking post gegevens uit formulier

    $sql = "
        SELECT id
        FROM my_table
        WHERE
            login = '"
. mysql_real_escape_string($_POST['login']) ."'
            AND pass = '"
. md5($_POST['paswoord']) ."'
            AND activeer IS NULL
    "
;
    // ... enzovoort
    
    // Nu is de $_POST nog actief.  Om die actieve $_POST weg te halen, gaan we redirecten naar de pagina waarop we ons bevinden.
    //

  header('location: index.php') ;    
}

else {
    // toon hier je formulier
    // Merk op: pas vanaf hier mag je beginnen HTML naar de gebruiker te sturen.
    // Er mag niets van HTML worden verstuurd boven (in de code) de functie header(...)

    echo '
    <form method="post" action="">
        <input .../>
        <input type="submit" value="OK"/>
    </form>'
;
}
?>


session_register() heb je niet nodig.
Je kan direct iets doen zoals:

$_SESSION['ingelogd'] = 1;

Zoals je nu bezig bent, zal je nooit ergens geraken. Hoe vlugger je dat beseft, hoe minder je zal moeten beginnen prutsen.

Iedereen van ons heeft al code weggesmeten waar uren werk in is gekropen. Als je dat niet ziet zitten ... Tja, je ziet maar
Gewijzigd op 11/03/2011 16:15:07 door Kris Peeters
 



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.