Brute force beveiliging $_POST

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer C# VB

Samengevat: Deze werkgever is actief in software voor het matchen van vraag en aanbod van gebruikte auto-onderdelen. Ben jij een .NET Developer? Heb je ervaring met het ontwikkelen (REST) en integreren van webservices? Vaste baan: C# .NET Developer C# VB HBO €2.600 - €6.200 Wij ontwikkelen software om vraag en aanbod van onderdelen van personenauto's bij elkaar te brengen. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. De branche van dit bedrijf is Automotive. Functie: Voor de vacature als .NET Developer Dordrecht HBO ga je

Bekijk vacature »

Database Developer

Functie omschrijving Voor een logistieke dienstverlener in omgeving Zuid Beijerland zijn wij op zoek naar versterking. Weet jij als geen ander systemen aan elkaar te koppelen en heb jij goede kennis van SQL en UML, lees dan snel verder! Jouw taken zien er als volgt uit: Je bent in deze rol voornamelijk verantwoordelijk voor het bouwen, implementeren en beheren van koppelingen tussen de bestaande systemen (zowel business 2 business als application 2 application). Daarnaast inventariseer je de wensen van in- en externe klanten, die je vervolgens samen met je collega's, vertaalt naar technische specificaties, die jullie zelf ontwikkelen en implementeren.

Bekijk vacature »

API Developer Red Hat Fuse

Dit ga je doen Als API Developer zal je verantwoordelijk zijn voor het: het maken van API's en het correct laten draaien van de API's op het platform. Hierdoor kom je in aanraking met Red Hat Fuse, Springt Boot, 3Scale, Red Hat SSO, Openshift en Azure DevOps; zorgen voor de kwaliteit van de ontwikkeling, integratie en prestaties van de API's; zorgen voor een stabiel integratieplatform. Hier ga je werken Deze organisatie is een toonaangevende speler in de vastgoedbranche en telt momenteel ruim 500 medewerkers. Met meer dan 150 applicaties staat er een complex applicatielandschap dat hoofdzakelijk op OpenShift, Azure en

Bekijk vacature »

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

Senior Front-end developer (React)

Functie Met een ontwikkelafdeling van ruim 20 collega’s is dit zo ongeveer de helft van alle medewerkers. De software(ontwikkeling) is dan ook de drijvende kracht binnen de organisatie. Ze werken aan het verbeteren dan de bestaande, maar zeker ook nieuwe producten. De software bestaat uit verschillende (React) webapplicaties, maar ook een mobile (React native) app. Hierdoor kom je met verschillende uitdagingen in aanraking en is Mobile kennis natuurlijk mooi meegenomen. De software wordt door vele duizenden professionals dagelijks gebruikt en bevatten grote hoeveelheden data. Aan het team de uitdaging om hierin de best mogelijke gebruiksvriendelijkheid neer te zetten door gebruik

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

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 »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

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 »

.NET developer

Functie Jouw team van vier collega .NET developers is verantwoordelijk voor het bouwen van de ETL processen van jouw nieuwe werkgever. Op dit moment wordt de front-end gedaan door een extern team van professionals. Echter wilt jouw nieuwe werkgever graag intern deze kennis uitbreiden en heeft dan ook de ambitie om dit voor het eind van het jaar intern te gaan aanpakken. Dit betekend dat jij als .NET ontwikkelaar de ideale kans krijgt om jezelf samen met jouw collega’s te ontwikkelen als full stack developer. Als .NET ontwikkelaar werk jij bij deze gave werkgever met C# .NET, SQL, JavaScript, REST

Bekijk vacature »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

.NET developer

Functie Als .NET developer start jij in een ontwikkelteam met 15 developers en twee testers. Samen zijn jullie verantwoordelijk voor financiële applicaties met meer dan 50.000 gebruikers. Een deel van het team is verantwoordelijk voor de webapplicaties van deze organisatie. Ook zijn er twee app ontwikkelaars werkzaam in het team die zich focussen op de mobiele applicatie. Als .NET ontwikkelaar ga jij aan de slag met de webapplicaties van deze organisatie. Hierbij maak jij o.a. gebruik van C# .NET, ASP.NET, T-SQL, Angular en TypeScript. De nadruk van jouw functie ligt wel op de backend van de applicatie. Wat jouw functie

Bekijk vacature »

Java/Kotlin Developer

Java/Kotlin Developer Ben jij een ervaren Java/Kotlin developer met een passie voor het automatiseren van bedrijfsprocessen? Wil je graag deelnemen aan uitdagende projecten bij aansprekende klanten? En ben je op zoek naar een professioneel, ambitieus en dynamisch bedrijf om je carrière verder te ontwikkelen? Kom dan ons team bij Ritense in Amsterdam versterken! Zo ziet de functie eruit: Als Java/Kotlin developer bij Ritense ben je verantwoordelijk voor de ontwikkeling en implementatie van applicaties die bedrijfsprocessen automatiseren, zodat onze klanten slimmer, efficiënter en klantgerichter kunnen werken. Als developer ben je in de lead en zorg je voor de correcte oplevering van

Bekijk vacature »
Hans De Ridder

Hans De Ridder

09/08/2017 14:17:44
Quote Anchor link
Ik heb een scriptje gevonden voor beveiliging van de $_POST.
Maar ik kom er niet uit hoe ik de waardes van de inputs weer terug krijg.
De afzonderlijke $_POST worden daarna gecontroleerd.
Ik gebruik overigens geen normale database.
Iemand die me een zetje kan geven in de goede richting?
Ik heb nu oa:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$username    = $_POST['username'];
$email_address    = $_POST['email_address'];

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
function beveilig($sInput) {
        $sOutput = '';
        if(!get_magic_quotes_gpc() == 0) {
                $sOutput = $sInput;              
        } else {
                if(function_exists('mysql_real_escape_string')) {
                        $sOutput = mysql_real_escape_string($sInput);    
                } else {
                        $sOutput = addslashes($sInput);        
                }
        }
        $sOutput = htmlentities($sOutput, ENT_QUOTES);
        return $sOutput;
}
function beveilig_array($aInput) {
        if(!is_array($aInput)) {
                return false;
        }
        $aOutput = array();
        foreach($aInput as $iKey => $sValue) {
                if(is_array($sValue)) {
                        $aOutput[beveilig($iKey)] = beveilig_array($sValue);            
                } else {
                        $aOutput[beveilig($iKey)] = beveilig($sValue);
                }
         }
        return $aOutput;
}

$_POST = beveilig_array($_POST);
 
PHP hulp

PHP hulp

04/12/2024 09:22:03
 
Ben van Velzen

Ben van Velzen

09/08/2017 14:25:55
Quote Anchor link
Niet lullig bedoeld, maar gebruik dit script absoluut niet. Het misvormt je data, en gebruikt ook nog eens database escaping functies waar ze niet voor bedoeld zijn.

htmlentities of htmlspecialchars gebruik je *bij weergave*, anders niet. Escaping gebruik je *in je query*, of waar je elders escaping nodig hebt. Hier gebruik je de escaping functie voor dat specifieke doel, anders niet.
Gewijzigd op 09/08/2017 14:29:06 door Ben van Velzen
 
Ozzie PHP

Ozzie PHP

09/08/2017 14:43:37
Quote Anchor link
Titel is * Brute force beveiliging $_POST *

Wat heeft dit met brute force beveiliging te maken?
 
Hans De Ridder

Hans De Ridder

09/08/2017 14:44:34
Quote Anchor link
Een goed bedoeld advies is nooit 'lullig' Ben.
Bedankt voor je reactie.
De afzonderlijke ingangen worden ook gecontroleerd.
Maar wil graag een specifieke brute-force beveiliging.
Is het dan (zonder traditionele database) voldoende om te werken met
$regexp, preg_match, enz?


Toevoeging op 09/08/2017 14:47:10:

Kwam van deze site Ozzie.
Maar als er andere oplossingen zijn dan hoor ik het graag...
http://www.sitemasters.be/tutorials/1/1/557/PHP/Beveiliging_in_scripts
 
Ozzie PHP

Ozzie PHP

09/08/2017 14:53:15
Quote Anchor link
Oké, maar dat heeft dus niks met brute force te maken. Dat staat ook niet zo op die site.
 
Ben van Velzen

Ben van Velzen

09/08/2017 15:03:15
Quote Anchor link
Escaping pas je toe waar je het nodig hebt, zoals ik al heb aangegeven. Als je geen data onschadelijk hoeft te maken ga je ook niet escapen. Daarom zijn magic quotes ook uit PHP gehaald, ze leverden alleen problemen op.
 
Hans De Ridder

Hans De Ridder

09/08/2017 15:03:27
Quote Anchor link
Voor brute force beveiliging beter kijken naar aantal inlogpogingen gedurende bepaalde periode?
 
- Ariën  -
Beheerder

- Ariën -

09/08/2017 15:04:21
Quote Anchor link
Je denkt aan regexp, preg_match o.a.
Maar dan vraag ik me af of je wel weet wat dit inhoudt, en wat brute-force inhoudt.
 
Hans De Ridder

Hans De Ridder

09/08/2017 15:09:09
Quote Anchor link
Die termen ken ik wel Arien.
Ben alleen niet zo bekend met Brute force.
En omdat er nogal wat ingevoerd kan worden door leden, wil ik me ook daar wat in verdiepen.
Maar uit de scripts die ik daarover gevonden heb gaat het dan vooral op beperking van het aantal
inlogpogingen gedurende bepaalde tijd. En verder de controle op gegevens.
 
- Ariën  -
Beheerder

- Ariën -

09/08/2017 15:56:16
Quote Anchor link
Bij een foute inlogpoging op een account houd je in een aparte tabel bij hoeveel pogingen er zijn gedaan vanaf een bepaald ip-adres, en daarbij ook waneer die poging was.

Dan is het eenvoudig rekenen of deze binnen een bepaalde tijd valt, en zo ja: BLOKKADE.
 
Hans De Ridder

Hans De Ridder

09/08/2017 16:03:34
Quote Anchor link
Bedankt voor je reactie Arien.
Ik zal het eens uitwerken.
Werkt bij mij beetje anders, omdat ik niet met gewone database werk.
Maar snap de gedachte erachter.

Overigens nog geen opmerking hoe je de gegevens bij het gegeven script terug kunt lezen.
Misschien voor deze toepassing niet zo ideaal.
Maar wellicht voor andere zaken...
 
- Ariën  -
Beheerder

- Ariën -

09/08/2017 16:26:53
Quote Anchor link
Welk script bedoel je eigenlijk?
 
Hans De Ridder

Hans De Ridder

09/08/2017 16:28:39
Quote Anchor link
Van de start topic..
 
- Ariën  -
Beheerder

- Ariën -

09/08/2017 16:42:35
Quote Anchor link
Die beveilig() functie is in deze tijd volledig onnodig:
- mysql_real_escape_string is al verouderd
- addslashes doet het juist verkeerd
- en een controle op get_magic_quotes_gpc is niet meer nodig, omdat deze (kansloze) functie er al sinds PHP 5.4 uit is gesloopt.


Gebruik gewoon netjes: mysqli_real_escape_string() in je queries, waar je aanpasbare variabelen in verwerkt.
Denk aan $_GET, $_POST, $_COOKIE en $_ENV.

Of verdiep je in Prepared Statements in MySQLi of PDO. Dan hoef je het zelf niet meer te escapen, en doet de classe het zelf.
 
Hans De Ridder

Hans De Ridder

09/08/2017 16:45:28
Quote Anchor link
oke, duidelijk Arien..
Bedankt voor de reacties.
Kan weer even verder.
 
Thomas van den Heuvel

Thomas van den Heuvel

09/08/2017 17:17:52
Quote Anchor link
- Ariën - op 09/08/2017 16:42:35:
Of verdiep je in Prepared Statements in MySQLi of PDO. Dan hoef je het zelf niet meer te escapen, en doet de classe het zelf.

Tenzij je dit principe verkeerd toepast (rechtstreeks concateneren van $_GET en $_POST in SQL), wat nogal eens gebeurt.

Het moment dat je stopt met nadenken over de veiligheid van code is meestal het moment dat je code vatbaar wordt voor misbruik. Simpelweg omdat je gebruik maakt van prepared statements maakt je code niet ineens per definitie immuun voor SQL-injectie of wat dan ook...

Brute force ga je tegen door:
- CSRF-tokens
- stop het hele ding achter een login?

Daarnaast helpt het ook om orde te scheppen in je code door het scheiden van de stappen van formuliergebruik: het weergeven, posten, en een eventuele bedankpagina na afloop - stop deze alle in code die apart behandeld wordt (hetzij methoden, hetzij aparte PHP-bestanden). Maak gebruik van de POST/redirect/GET aanpak.

PS: over sitemasters: lees ook ff alle reacties. Daar kun je doorgaans ongeveer bepalen hoe oud (en dus meestal ook hoe relevant) een tutorial (nog) is en of de voorgestelde methodiek ook echt hout snijdt (wat hier absoluut niet het geval is).
Gewijzigd op 09/08/2017 17:20:22 door Thomas van den Heuvel
 



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.