• 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

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [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

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

SQL injection ($_GET['cat_id'];)

  • onlineproducteneu
  • 17 oktober 2012 om 18:47
  • Closed
  • onlineproducteneu
    Beginner
    Berichten
    18
    • 17 oktober 2012 om 18:47
    • #1

    Goedendag,

    Er bevind zich een fout in mijn scriptje, waardoor het mogelijk is een sql injection uit te voeren.

    Het werkt via $_GET.
    Er wordt een catergorie geselecteerd, op cat_id. Het selecteren lukt, maar sql injection ook.
    Ik heb geprobeerd dit met mysql_real_escape_string geprobeerd te verkomen.
    Echter lukt dit niet

    De code is (ja ik weet het, het is nogal rommelig.)

    PHP
    $cat_id = $_GET['cat_id'];
    	$cat_id = quote_smart($cat_id);
    	$cat_id = mysql_real_escape_string($cat_id);
    	if(!empty($cat_id)){
    	$select_products = "SELECT id,prod_title_$language,prod_text_$language FROM products WHERE prod_cat=$cat_id ORDER BY id";
    	$select_products_res = mysql_query(mysql_real_escape_string($select_products));

    quote_smart()

    PHP
    function quote_smart($input) {
    if (get_magic_quotes_gpc()) {
    $input = stripslashes($input);
    }
    if(Version_compare(phpversion(),"4.3.0" == "-1")) {
    return mysql_escape_string($input);
    } else {
    return mysql_real_escape_string($input);
    }
    }

    Evaringen: PHP, HTML, JavaScript, MySQL, C++, C#

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 oktober 2012 om 19:04
    • #2

    ID lijkt me een getal... kan je niet is_numeric uitvoeren?
    Dat kijkt of id een getal is en zoja kan je het uit de database halen.

    Bouw trouwens ook foutafhandeling in!

    PHP
    function numeriek($variabele)
    	{
    		if(is_numeric($variabele))
    			return true;
    	}

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • onlineproducteneu
    Beginner
    Berichten
    18
    • 17 oktober 2012 om 19:15
    • #3

    Bedankt.

    Best dom eigenlijk, probleem is opgelost.

    Evaringen: PHP, HTML, JavaScript, MySQL, C++, C#

  • jopitan
    Professional
    Berichten
    684
    • 17 oktober 2012 om 19:29
    • #4

    Of gewoon simpel:

    Code
    $cat_id = isset($_GET['cat_id']) ? (int) $_GET['cat_id'] : 0;

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 oktober 2012 om 19:34
    • #5

    Dat doet in feite gewoon hetzelfde als is_numeric toch? Wat is dan het voordeel van dit?

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 17 oktober 2012 om 19:34
    • #6

    ctype_digit(); is ook een goeie functie.

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 17 oktober 2012 om 20:53
    • #7

    Hallo,

    Typecasten voor integers is ook mogelijk.

    Verder, als je via Google zoekt zie je zo 1001 dingen tegen SQL injecties ;)

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 oktober 2012 om 20:55
    • #8

    Mijn vraag valt blijkbaar niet op, dus ik stel 'm nog maar een keer.
    Is er een voorkeur voor één van deze functies?
    ctype_digit(), is_numeric, etch. doen allemaal hetzelfde toch?

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 17 oktober 2012 om 21:00
    • #9
    Citaat van victor

    Mijn vraag valt blijkbaar niet op, dus ik stel 'm nog maar een keer.
    Is er een voorkeur voor één van deze functies?
    ctype_digit(), is_numeric, etch. doen allemaal hetzelfde toch?


    Hallo,

    Deze doen niet hetzelfde.
    is_numberic keurt enkel daadwerkelijke integers goed. ctype_digit keur ook numerieke strings goed.

    Oftewel, ctype is niet datatype afhankelijk.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 oktober 2012 om 21:04
    • #10

    Is het dan handiger op ctype_digit te gebruiken? Of verschilt dat per script?

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 17 oktober 2012 om 21:06
    • #11
    Citaat van victor

    Is het dan handiger op ctype_digit te gebruiken? Of verschilt dat per script?


    Hallo,

    Hangt van je doel af. Moet het een integer zijn of mag het ook een string zijn?
    Maar dit gaat beetje offtopic betreffende het onderwerp.

    Typecasten naar integer is voldoende als je een integer moet opslaan (numerieke IDs bijv.)

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Victor
    Master
    Ontvangen Reacties
    102
    Berichten
    1.680
    • 17 oktober 2012 om 21:16
    • #12

    Sorry, de TS heeft het antwoord. Mijn vragen zoek ik wel even op google. :)

    Met vriendelijke groet,

    Victor
    Beheerder ICTscripters

  • r-mulder
    Elite Member
    Berichten
    968
    • 18 oktober 2012 om 08:58
    • #13

    Omdat het toch opgelost is sluit ik dan ook dit topic.

    Victor, mocht je nog enige vragen hebben dan horen we het graag :thumbup:

    Postcounter: 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000

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