• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 23 december 2025 om 16:43
  • Developer Gezocht

    tcbhome 21 december 2025 om 15:07
  • Op zoek naar de legends

    Jeffrey.Hoekman 9 december 2025 om 09:41
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05
  • 302 Nieuwe Domeinnamen November 2025

    shiga 1 december 2025 om 13:07

$_GET beveiligen

  • FrankY
  • 17 maart 2009 om 20:30
  • Closed
  • FrankY
    Another one bites the dust.
    Ontvangen Reacties
    3
    Berichten
    598
    • 17 maart 2009 om 20:30
    • #1

    Beste,
    ik heb ooit eens gehoord dat $_GET kan beveiligen, nou is mijn vraag, hoe doe ik dat?

    Alvast bedankt,
    FrankY

    Bezig met cms:)

  • Niels
    -1
    Berichten
    1.360
    • 17 maart 2009 om 20:35
    • #2

    http://php.net/array_map

    Zoiets dacht ik kijk zelf even op de bovenstaande link dan leer je er ook nog eens wat van ;)

    PHP
    array_map($_GET,'add_slashes');

    -1

  • CBproductions
    Creative Boyz productions
    Berichten
    242
    • 17 maart 2009 om 20:37
    • #3

    Beste ik weet niet wat je exact bedoelt maar er is een heel stuk waarmee je $_GET kan beveiligen.

    PHP
    <?php
    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);
    ?>
    Toon Meer

    Hopelijk heb je er iets aan.

    Mvg PG

    \"Je kan stoer lopen met 100 matties om je heen
    aan het einde ga je toch alleen heen!\"

  • Niels
    -1
    Berichten
    1.360
    • 17 maart 2009 om 20:43
    • #4

    @pg
    Als je mysql niet gebruikt krijgt mysql_real_escape_string een error (tenminste vroeger) dus daarom kan je beter add_slashes gebruiken.

    -1

  • CBproductions
    Creative Boyz productions
    Berichten
    242
    • 17 maart 2009 om 20:46
    • #5
    Citaat

    @pg
    Als je mysql niet gebruikt krijgt mysql_real_escape_string een error (tenminste vroeger) dus daarom kan je beter add_slashes gebruiken.


    Als je het zo bekijkt inderdaad wel ja.
    Ik weet niet of dit nog altijd is maar wss wel.
    Tnx Niels :)

    Mvg PG

    \"Je kan stoer lopen met 100 matties om je heen
    aan het einde ga je toch alleen heen!\"

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 17 maart 2009 om 21:24
    • #6

    Hier worden enkele 'algemene' oplossingen gegeven. Maar in mijn ogen zijn deze oplossingen slordig en niet goed. Ze zijn zeker niet altijd veilig.

    Een GET, POST of COOKIE variabele moet je valideren naar wat je van de variabele verwacht. Moet de variabele een getal zijn, kijk dan of het ook een getal is. Moet de variabele een geldige link zijn, kijk daar dan na. Er is geen algemene oplossing om alle GET waardes in één keer te beveiligen. Daarnaast is overal slashes overheen gooien slordig. Tenslotte, als iets over de mail gaat (bijvoorbeeld), moet de variabele helemaal geen slashes kennen.

    En mysql_real_escape_string is niet bruikbaar wanneer er geen mysql resource is omdat mysql_real_escape_string rekening houd met de encoding van de database..

    Dus: Valideren doe je aan de hand van het (verwachte) type input. En niet met een algemene functie...

  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 17 maart 2009 om 21:58
    • #7

    Dit is de allerbeste:

    PHP
    <?php
    $_GET = array_map('add_slashes', $_GET);

    Zo kan je er eventueel ook nog htmlentities doorhalen enz.

    PHP
    <?php
    $_GET = array_map('htmlentities', $_GET);
  • Dominic
    Ex-Eigenaar CP
    Berichten
    95
    • 18 maart 2009 om 07:54
    • #8
    Citaat

    Hier worden enkele 'algemene' oplossingen gegeven. Maar in mijn ogen zijn deze oplossingen slordig en niet goed. Ze zijn zeker niet altijd veilig.

    Een GET, POST of COOKIE variabele moet je valideren naar wat je van de variabele verwacht. Moet de variabele een getal zijn, kijk dan of het ook een getal is. Moet de variabele een geldige link zijn, kijk daar dan na. Er is geen algemene oplossing om alle GET waardes in één keer te beveiligen. Daarnaast is overal slashes overheen gooien slordig. Tenslotte, als iets over de mail gaat (bijvoorbeeld), moet de variabele helemaal geen slashes kennen.

    En mysql_real_escape_string is niet bruikbaar wanneer er geen mysql resource is omdat mysql_real_escape_string rekening houd met de encoding van de database..

    Dus: Valideren doe je aan de hand van het (verwachte) type input. En niet met een algemene functie...


    Maar wat nou, als je beide kan verwachten? Bijvoorbeeld bij een zoek formulier waar je $_GET ipv $_POST variables gebruikt.. dan heb je daar weer een probleempje voor. En de ts zoekt denk ik 1 makkelijke oplossing voor bijvoorbeeld bovenstaand probleem.

    Ikzelf heb een eigen functie gemaakt (Es2008($str) staat voor Everything Safe 2008 :P, en die werkt tot nu toe aardig..)

    CriminalsPoint is mooi geworden! Goed gedaan Koen en crew.

  • Pim
    Love Me Two Times
    Berichten
    2.039
    • 18 maart 2009 om 08:02
    • #9

    Het beste is gewoon zelf overal addslashes zetten of htmlentities waar je denkt dat het echt van toepassing is (bv. in een query) zo ga je geen onnodige variabelen filteren en minder fouten hebben wat de snelheid en ordelijkheid van je script min of meer zal bevorderen.

  • FrankY
    Another one bites the dust.
    Ontvangen Reacties
    3
    Berichten
    598
    • 18 maart 2009 om 16:15
    • #10

    -

    Bezig met cms:)

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 18 maart 2009 om 16:55
    • #11

    -

  • Niels
    -1
    Berichten
    1.360
    • 18 maart 2009 om 17:04
    • #12

    @Killingdevil#reactie 1
    Volgens mij weet ik wel wat ik doe. htmlentities is voor output niet voor input (in de database mag dus best een < of > staan ;)). Het valideren van user input moet sowieso maar doormiddel van add slashes voorkom je ten eerste al redelijk wat aangezien html tags in de database niks uit maken zoals ik al eerder heb verteld hierboven.

    @Killingdevil#reactie 2
    Uhm als je toch beide wilt nemen kun je net zo goed $_REQUEST gebruiken.

    -1

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 21 maart 2009 om 17:31
    • #13

    Niels

    htmlentities inderdaad bij output, en bij input addslashes, mits het de database in gaat.

    Maar dat betekent dus niet dat iedere variabele die binnenkomt moet worden geaddslassed.

    En $_REQUEST.. Je hebt vast gelijk, die gebruik ik eigenlijk nooit.;)

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design