Vaste hardcode security

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

Front-End React Developer

Als Front-End React Developer verbeter je de user experience van onze eigen webapplicaties voor onze collega's binnen Coolblue. Wat doe je als Front-End React Developer bij Coolblue? Als Front-end React Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten met React.js. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Daarnaast ben je trots op je werk en verwelkomt alle feedback. Ook Front-end React Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen Verbeteren van de gebruiksvriendelijkheid van onze webshop

Bekijk vacature »

PHP developer (Laravel, Docker, Gitlab-CI)

Functie Het IT-team bestaat momenteel uit 4 ontwikkelaars. Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. Een groot deel van de systemen is gebouwd met behulp van het Laravel framework en PHP (minimaal 7.2), Docker voor lokaab gebruik en Gitlab-CI voor het deployen

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 »

Developer Front-end

Functie omschrijving Front-end Developer gezocht! Wij zijn op zoek naar een front-end developer voor een organisatie in de regio Veenendaal die de eindverantwoordelijkheid op zich neemt van alles wat met design te maken heeft. Je hebt in deze functie een adviserende rol hiervoor moet je beschikken over een grote dosis vakinhoudelijke kennis. Je creëert unieke concepten door samen met collega’s en klanten te overleggen over aangeleverde designs. Hiermee draag jij je steentje bij aan de groeiambities van de klant. Jij wordt het vaste aanspreekpunt voor klanten wanneer het gaat over planningen, hierin is het jouw taak om alle betrokkenen goed

Bekijk vacature »

.NET 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 »

Experienced Lead Java Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Delft Vacature ID: 13301 Introductie We are seeking a Lead Java Developer for our team in the area of Delft. You will develop an application used exclusively by the engineers and geologists for site characterizations, which imports raw field and laboratory measurements for further processing, integration, ground modelling, and geotechnical analysis and reporting. The client/server application is entirely written in Java, and the server is hosted in the Amazon cloud, utilizing frameworks such as Spring and Hibernate, and connected to an MS SQL Server RDS instance. There is a trend towards using more

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

Bekijk vacature »

Back-end developer (Magento2)

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 back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Senior/Lead Python developer

Functie Samen met je team, bestaande uit een senior, 2 mediors en één junior ontwikkelaar ga je op een Agile-gebaseerde aanpak werken aan hun software. Je hebt oog voor kwaliteit, risico’s en klantbelang. Communicatie met je collega’s en waar nodig ook met klanten speelt een belangrijke rol in het bereiken van een succesvol resultaat. Als persoon ben je slim, krijg je dingen voor elkaar en ga je resultaatgericht te werk. Binnen het development team is er veel zelfstandigheid, los van de stand-up (10:00 uur) en zo nu en dan pair-programming sessies. Technieken die zij gebruiken zijn o.a. Python, Django, MySQL,

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 »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

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

04/06/2023 13:35:28
 
- 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.