Vaste hardcode security

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

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 »

Front-end developer gezocht

Functie Je komt in een team met ambitieuze developers die de passie voor Front-End met jou delen. Samen ga je aan de slag met leuke en leerzame opdrachten. Het team heeft een eigen budget en financiën en zij bepalen zelf hoe dat besteed en investeert wordt. Je gebruikt tools als JavaScript, Node.js, React, Angular, Typescript en Vue.js wanneer je werkt aan de opdrachten. Daarnaast zul je veel leren van je collega’s en gezamenlijk een leuke tijd doorbrengen tijdens activiteiten zoals wintersport, hackatons en conferentiebezoeken. Je krijgt niet alleen de mogelijkheid Front-End te ontwikkelen, maar ook vooral jezelf. Dit kan behaald

Bekijk vacature »

Software Ontwikkelaar PHP

Functie omschrijving Software Ontwikkelaar PHP gezocht! Wij zijn op zoek naar een ervaren PHP Software Ontwikkelaar om het team van onze opdrachtgever te versterken! De ideale kandidaat zal fungeren als verlengstuk van klanten en complexe technische vraagstukken met enthousiasme benaderen. Naast het werken met de nieuwste technologieën, ben je in staat om aan meerdere projecten tegelijkertijd te werken. Als je deze uitdaging aangaat, werk je nauw samen met front-end developers en draag je bij aan het realiseren van grote veranderingen bij klanten. Het bedrijf zoekt iemand die zichzelf graag uitdaagt en altijd streeft naar het leveren van de beste resultaten.

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Mendix Developer

Functie Wat ga je doen als Mendix Developer? We leven in een wereld die snel ontwikkelt en veranderd, ook nemen bedrijfsbelangen toe en blijken risico’s moeilijker in te schatten, daarom wij op zoek naar Junior, Medior en Senior Developers die bedrijven kunnen helpen met hun screeningproces en zorgen dat deze efficiënt en 100 procent AVG compliant is. Het concept achter Mendix is duidelijk. De klant heeft een vraag/probleem. Dit kunnen we door middel van slimme software oplossen. In plaats van te werken met de nieuwste technieken en tools, wordt er gekozen voor het implementeren en maken van software dat op

Bekijk vacature »

Cymer Patch Server Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 12919 Introductie This new patch server will be built on Python and Django ReST and GraphQL services with a React frontend, it will consist of several microservices and run on a Kubernetes cluster. It will be supported by several middleware applications such as ElasticSearch, Redis, RabbitMQ, Oracle and Artifactory. Functieomschrijving The Patch Admin team always aim to deliver software at a high quality, we avoid sacrifices here to maintain our velocity. Practically this means that we practice test driven development and perform end-to-end automated testing on our software. This means

Bekijk vacature »

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 »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

C#.NET developer

Functieomschrijving Wij zijn op zoek naar een gepassioneerde Full Stack C#.NET Software Developer. Als Software Developer ben je verantwoordelijk voor het ontwikkelen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere ontwikkelaars en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Testen en valideren van de ontwikkelde software. Ontwikkelen en onderhouden van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je gaat aan de slag met diverse technologieën en frameworks. Denk hierbij aan C#, JS frameworks, HTML, CSS, TypeScript,

Bekijk vacature »

Junior/medior PHP developer Onderwijssector

Functie Momenteel zijn ze op zoek naar een developer die, veelal fullstack, mee gaat werken aan de 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

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Medior Java developer (fullstack)

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 »
Arno van Zanten

Arno van Zanten

08/06/2022 16:48:09
Quote Anchor link
Ik wil graag een paar mensen beschermen, zodat deze nooit en te nimmer uit de dbase verwijderd kunnen worden, ook niet door hun zelf
Ik wil dat als een soort hardcode wegzetten in een script, op moment heb ik het opgelost met een stukje code zoals dit.

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
<?php

if($_GET['Name'] == 'persoon1') {
 echo you cannot delete this acount
}else{
 <
a href='index.php?menu=profile&action=delete&id=".$_GET['ID']."'>Delete</a>
if($_GET['Name'] == 'persoon2') {
 echo you cannot delete this acount
}else{
 <
a href='index.php?menu=profile&action=delete&id=".$_GET['ID']."'>Delete</a>
if($_GET['Name'] == 'persoon3') {
 echo you cannot delete this acount
}else{
 <
a href='index.php?menu=profile&action=delete&id=".$_GET['ID']."'>Delete</a>
}


?>


Ik weet dat dit opslachtig is, dus ik zoek hier een oplossing voor.
Hoe kan ik dit in een kosrter script zetten als hardcode?
Heb het geprobeerd met variabelen en merge_arry, maar dat werkte niet.
Hoe kan ik dit oplossen volgens jullie?
Wat je wilt niet dat er namen in een script naar boven komen.
 
PHP hulp

PHP hulp

05/11/2024 22:17:52
 
- Ariën  -
Beheerder

- Ariën -

08/06/2022 17:00:01
Quote Anchor link
Of maak in de database gewoon een veld waarin staat: 'secured', en als die op 1 staat, dan mag je die personen niet verwijderen. Hardcoded dingen gaan hacken is bijna nooit de oplossing.

Anders had je ook in_array() kunnen gebruiken en alle userID's in een array kunnen gieten.

Maar goed: een databaseveld is veel handiger.
Gewijzigd op 08/06/2022 17:02:06 door - Ariën -
 
Arno van Zanten

Arno van Zanten

08/06/2022 17:14:56
Quote Anchor link
is ook een idee, maar ook dbases kunnen ook gehackt worden,
ik had ook arry gebruikt en die met array_merg gedaan, maar dat deed niks.
Maar ik kan die optie van jou altijd nog gebruiken, maar zie zoiets liever als een stukje hardcode.
zodat niemand de namen kan acterhalen etc...
 
Adoptive Solution

Adoptive Solution

08/06/2022 17:24:25
Quote Anchor link
In een ver verleden deed ik dit.
Met een vlag aangeven of de gebruiker uit de database of uit een array gehaald moet worden.
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
<?php
function pc_validate( $user, $password, $db_true )
{

    if( $db_true )
    {

        // use next 2 lines to connect to database
        include ('connect-with-login.php');
        //echo '<p>Resultaat = ' . $resultaat . '</p>';
        //exit();

        return $resultaat;
    }

    else
    {
        // use next lines to use the $users array
        // md5 passwords are the same as usernames

        $users = [
        'david' => '172522ec1028ab781d9dfd17eaca4427',
        'adam'  => '1d7c2923c1684726dc23d2901c4d8157',
        'test'  => '098f6bcd4621d373cade4e832627b4f6',
        ];


        if ( isset( $users[$user] ) && ( $users[$user] == md5($password) ) )
        {

            return TRUE;
        }

        else
        {
            return FALSE;
        }
    }
}

?>


En als je niet wilt dat de database gehackt wordt, zorg er dan voor dat ze er niet bijkunnen.
 
- Ariën  -
Beheerder

- Ariën -

08/06/2022 17:25:53
Quote Anchor link
Arno van Zanten op 08/06/2022 17:14:56:
is ook een idee, maar ook dbases kunnen ook gehackt worden

FTP ook!
En anders misschien via een SQL-exploit.
Quote:
ik had ook arry gebruikt en die met array_merg gedaan, maar dat deed niks.
Maar ik kan die optie van jou altijd nog gebruiken, maar zie zoiets liever als een stukje hardcode.
zodat niemand de namen kan acterhalen etc...

Een site wil je altijd flexibel houden. Daar hoort geen hardcoded hack in.
Achterhalen kunnen ze altijd als het in de database staat, en als ze op een manier een toegang vinden.
Gewijzigd op 08/06/2022 17:27:18 door - Ariën -
 
Ward van der Put
Moderator

Ward van der Put

08/06/2022 17:26:15
Quote Anchor link
Met in_array() zoals Ariën ook aangeeft:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if (
-
   isset($_GET['Name'])
    &&
in_array($_GET['Name'], ['persoon1', 'persoon2', 'persoon3'])
) {

    // Herrie in de zaak: we gaan personen ontvrienden.
} else {
    // Geen toegang tot deze accounts.
}
?>
 
Jan R

Jan R

09/06/2022 08:44:26
Quote Anchor link
Je vermeld "niet door hun zelf"
Misschien een persoonlijk idee maar ik sta nooit toe dat een gebruiker zichzelf wist.
gewoon in het delete commando "where id<>' . $_SESSION['id'] of een equivalent toevoegen

Ik laat ook nooit toe dat een laatste beheerder verwijderd wordt.

En JaJa ik weet via de database kan natuurlijk alles :)
 
Ozzie PHP

Ozzie PHP

09/06/2022 12:15:18
Quote Anchor link
Arno van Zanten op 08/06/2022 16:48:09:

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
<?php

if($_GET['Name'] == 'persoon1') {
 echo you cannot delete this acount
}else{
 <
a href='index.php?menu=profile&action=delete&id=".$_GET['ID']."'>Delete</a>
if($_GET['Name'] == 'persoon2') {
 echo you cannot delete this acount
}else{
 <
a href='index.php?menu=profile&action=delete&id=".$_GET['ID']."'>Delete</a>
if($_GET['Name'] == 'persoon3') {
 echo you cannot delete this acount
}else{
 <
a href='index.php?menu=profile&action=delete&id=".$_GET['ID']."'>Delete</a>
}


?>


Je verwijdert iemand op basis van ID, maar je voert een controle uit op basis van naam ... hmmm
 
Ivo P

Ivo P

09/06/2022 12:18:41
Quote Anchor link
En je delete ook niet met
DELETE FROM user WHERE id = 123;

maar door

UPDATE user SET deleted = 1 WHERE id = 123;

Op deze manier is een delete-actie eenvoudig terug te draaien. En je hebt geen problemen met andere tabellen waarin de posts, bestellingen, profielen, vrienden etc staan. Die dan ofwel verweest raken (als je de foreign keys niet goed hebt ingericht) ofwel je delete query blokkeren.
(of je verwijdert alle afhankelijke data on-cascade, met als gevolg dat bijvoorbeeld je forum gesloopt wordt omdat topics de helft van de reacties missen.)
Gewijzigd op 09/06/2022 12:18:56 door Ivo P
 
Arno van Zanten

Arno van Zanten

09/06/2022 15:46:55
Quote Anchor link
Ivo P op 09/06/2022 12:18:41:
En je delete ook niet met
DELETE FROM user WHERE id = 123;

maar door

UPDATE user SET deleted = 1 WHERE id = 123;

Op deze manier is een delete-actie eenvoudig terug te draaien. En je hebt geen problemen met andere tabellen waarin de posts, bestellingen, profielen, vrienden etc staan. Die dan ofwel verweest raken (als je de foreign keys niet goed hebt ingericht) ofwel je delete query blokkeren.
(of je verwijdert alle afhankelijke data on-cascade, met als gevolg dat bijvoorbeeld je forum gesloopt wordt omdat topics de helft van de reacties missen.)


is niet voor een forum ;)
Gaat om een bedrijfs platform
 
Ozzie PHP

Ozzie PHP

09/06/2022 16:34:28
Quote Anchor link
>> is niet voor een forum ;)
>> Gaat om een bedrijfs platform

En je punt is?

Echt met alle respect, je hebt nog niet heel veel ervaring met programmeren. Dat blijkt duidelijk uit je vragen en de code die je tot nu toe laat zien. Maar je bent ondertussen wel een 'bedrijfsplatform' aan het programmeren? Neem je misschien niet een heel klein beetje te veel hooi op je vork?
 
- Ariën  -
Beheerder

- Ariën -

09/06/2022 17:09:11
Quote Anchor link
Wat Ozzie zeg, daar ga ik ook in mee. Een goede verwerking is van groot belang voor een bedrijf. Als je de opbouw en werking van een database niet beheerst, dan is het aftellen voordat er een grote f*ckup plaatsvindt die desastreus kan zijn voor binnen een bedrijf.

Ik denk dat je dit niet graag wilt horen, maar mijn dringende advies is om als beginner eerst gewoon kleine hobby-projectjes te maken. Het begint bij een simpele "Hello World", daarna wat simpele afhandeling van GET/POST, vervolgens wat uitgebreide if-else-elseif structuren en dan iets van een simpel gastenboekje, of kleinschalig forumpje. Als je zoiets kan bouwen, én weet hoe je goede databasestructuren kan maken, dan kan je verder kijken naar uitgebreide dingen.

Ik krijg nu sterk de indruk dat je van de hak op de tak gaat. Eerst een query die niet werkt, en dan later de basis van if-else die je niet goed beheerst. En laat staan dat dat je nog niet weet hoe je moet debuggen waardoor we flink moeten doorvragen en er ellenlange topics ontstaan. En gezien je nog geen beveiliging tegen SQL-injection, en controle op queries inbouwt, is de kans groot dat je data in bepaalde gevallen niet goed in je database komt te staan wat je duur kan komen te staan. Ook zou je minimaal gebruik moeten maken van transacties met ROLLBACk en COMMIT in MySQL bij het uitvoeren van queries in belangrijke situaties.

Als ik je posthistorie op PHPhulp al bekijk dan durf ik durf te wedden dat je echt nog wel een flink aantal maanden verwijderd bent om te beginnen aan een belangrijk bedrijfsplatform.

Mijn advies:
- Of je besteed het uit
- Of je stelt het uit
- Of je zoekt iets in de vorm van een klant-en-klaar opensource of een gelicenseerd product.
Gewijzigd op 09/06/2022 18:28:05 door - Ariën -
 



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.