• 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

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 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

Beveiligen

  • Dpm_x
  • 26 maart 2011 om 13:53
  • Dpm_x
    Intermediate
    Berichten
    351
    • 26 maart 2011 om 13:53
    • #1

    Tegen wat moet ik mijn site allemaal beveiligen? En hoe moet ik dit doen?

  • L.Groot
    Elite members
    Ontvangen Reacties
    31
    Berichten
    4.888
    • 26 maart 2011 om 13:55
    • #2

    Vooral op XSS en SQL injections.
    Beveiligen met: [func]strip_tags[/func], [func]mysql_real_escape_string[/func], [func]htmlspecialchars[/func] of [func]htmlentities[/func].

    Neem aan dat het met deze PHP pagina's duidelijk is.

  • Dpm_x
    Intermediate
    Berichten
    351
    • 26 maart 2011 om 14:14
    • #3

    Hoe kan je een $_GET het best beveiligen? via mysql_real_escape_string?

  • Jackie
    Hardstyle
    Berichten
    224
    • 26 maart 2011 om 14:51
    • #4
    PHP
    if(!ctype_digit($_GET['iets']))
    {
        echo 'Het is niet numeriek';
    }
    else
    {
        echo 'Het is wel numeriek';
    }

    Zoiets?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • L.Groot
    Elite members
    Ontvangen Reacties
    31
    Berichten
    4.888
    • 26 maart 2011 om 15:02
    • #5

    Met [func]strip_tags[/func] en [func]mysql_real_escape_string[/func].

    [func]htmlspecialchars[/func] en [func]htmlentities[/func] gebruik je als je bijvoorbeeld een textveld heb om bijvoorbeeld nieuws te posten. Dan typt iemand bijvoorbeeld een é en die word dan niet vervangen (dan zie je zo'n vaag tekentje). Die é word dan automatisch in een é vervangen waardoor het goed word weergegeven.

    Als je dan bijvoorbeeld nieuws wil bewerken moet je uiteraard niet die [func]htmlspecialchars[/func] en [func]htmlentities[/func] toepassen omdat je dan in een textveld ook al é krijgt te zien. Daarom moet je [func]htmlspecialchars[/func] en [func]htmlentities[/func] alleen gebruiken bij een output.
    In de MySQL database zet je dus gewoon de é en niet de é.

    Hieronder vind je een compeet nieuws systeem.
    Dit mag je gratis van me hebben.
    Maak in je database aan:

    PHP
    CREATE TABLE IF NOT EXISTS `nieuws` (
      `id` int(100) NOT NULL default '0',
      `titel` varchar(100) NOT NULL,
      `omschrijving` text NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    En de hele PHP pagina, opslaan als nieuws.php:

    PHP
    <?php
    echo '<h1>Nieuws</h1><br />';
    if($_GET['a'] == "nieuw"){
    	// Nieuws plaatsen
    	if(isset($_POST['submit'])){
    		// Formulier is gepost
    		$titel = strip_tags(mysql_real_escape_string($_POST['titel']));
    		$omschrijving = strip_tags(mysql_real_escape_string($_POST['titel']);
    		if(strlen($titel) >= 3 && strlen($titel)) <= 100){ // Controleer of de titel groter dan 2 is en kleiner dan 100 tekens
    			if(strlen($omschrijving) >= 5 && strlen($omschrijving) <= 1250){ // Controleer of de omschrijving groter dan 2 tekens en kleiner dan 1251 tekens is
    			mysql_query("INSERT INTO nieuws (titel, omschrijving) VALUES('".$titel."', '".$omschrijving."')");
    			echo '<span style="color: green;"><b>Nieuws is met succes geplaatst</b>.</span><br />
    				  <a href="nieuws.php?a=nieuw">Keer terug</a> naar de nieuws overzicht pagina';
    			} else{
    			echo '<span style="color: red;"><b>De omschrijving is kleiner dan 5 of groter dan 1250 tekens</b>.</span><br />
    				  <a href="nieuws.php?a=nieuw">Keer terug</a> naar de nieuws toevoeg pagina';			
    			}
    		} else{
    			echo '<span style="color: red;"><b>De titel is kleiner dan 3 of groter dan 100 tekens</b>.</span><br />
    				  <a href="nieuws.php?a=nieuw">Keer terug</a> naar de nieuws toevoeg pagina';
    		}
    	} else{
    		echo '
    		<h2>Nieuws toevoegen</h2>
    		<form method="post" action="">
    			<b>Titel:</b><br />
    			<input type="text" name="titel" size="40" maxlength="100" /><br />
    			<b>Omschrijving:</b><br />
    			<textarea name="omschrijving" cols="15" rows="8" maxlength="1250"></textarea><br />
    			<br />
    			<input type="submit" name="submit" value="Maak nieuws aan" />
    		</form>
    		';
    	}
    } else if($_GET['a'] == "edit"){
    	// Nieuws wijzigen
    	if(is_numeric($_GET['id'])){ // Controleer of id een nummer is
    		$res = mysql_query("SELECT id, titel, omschrijving FROM nieuws WHERE id=".$_GET['id']."");
    		if(mysql_num_rows($res) > 0){ // Controleer of nieuws bestaat
    			if(isset($_POST['submit'])){
    				// Formulier is gepost
    				$titel = strip_tags(mysql_real_escape_string($_POST['titel']));
    				$omschrijving = strip_tags(mysql_real_escape_string($_POST['titel']);
    				if(strlen($titel) >= 3 && strlen($titel)) <= 100){ // Controleer of de titel groter dan 2 is en kleiner dan 100 tekens
    					if(strlen($omschrijving) >= 5 && strlen($omschrijving) <= 1250){ // Controleer of de omschrijving groter dan 2 tekens en kleiner dan 1251 tekens is
    					mysql_query("UPDATE nieuws SET titel='".$titel."', omschrijving='".$omschrijving."' WHERE id=".$sel['id']."");
    					echo '<span style="color: green;"><b>Nieuws is met succes bewerkt</b>.</span><br />
    						  <a href="nieuws.php?a=nieuw">Keer terug</a> naar de nieuws overzicht pagina';
    					} else{
    					echo '<span style="color: red;"><b>De omschrijving is kleiner dan 5 of groter dan 1250 tekens</b>.</span><br />
    						  <a href="nieuws.php?a=nieuw&id='.$sel['id'].'">Keer terug</a> naar de nieuws bewerk pagina';			
    					}
    				} else{
    					echo '<span style="color: red;"><b>De titel is kleiner dan 3 of groter dan 100 tekens</b>.</span><br />
    						  <a href="nieuws.php?a=nieuw&id='.$sel['id'].'">Keer terug</a> naar de nieuws bewerk pagina';
    				}
    			} else{
    				echo '
    				<h2>Nieuws bewerken</h2>
    				<form method="post" action="">
    					<b>Titel:</b><br />
    					<input type="text" name="titel" size="40" maxlength="100" value="'.$sel['titel'].'" /><br />
    					<b>Omschrijving:</b><br />
    					<textarea name="omschrijving" cols="15" rows="8" maxlength="1250">'.$sel['omschrijving'].'</textarea><br />
    					<br />
    					<input type="submit" name="submit" value="Bewerk nieuws" />
    				</form>
    				';
    			}
    		} else{
    			echo '<span style="color: red;"><b>Dit nieuws bestaat niet (meer)</b>.</span><br />
    				  <a href="nieuws.php?a=edit">Keer terug</a> naar de nieuws bewerk pagina';		
    		}
    	} else{
    		// Kies nieuws om te bewerken
    		$res = mysql_query("SELECT id, titel FROM nieuws ORDER BY id DESC LIMIT 2");
    		while($sel = mysql_fetch_array($res)){
    			// Zet speciale karakters en enters om naar HTML valid tekens
    			echo '<a href="nieuws.php?a=edit&id='.$sel['id'].'"><b>Bewerk</b> "'.htmlspecialchars($sel['titel']).'"</a><br />';
    		}		
    	}
    } else{
    	// Nieuws laten zien
    	$res = mysql_query("SELECT titel, omschrijving FROM nieuws ORDER BY id DESC LIMIT 2");
    	while($sel = mysql_fetch_array($res)){
    		// Zet speciale karakters en enters om naar HTML valid tekens
    		echo '<h2>'.htmlspecialchars($sel['titel']).'</h2>';
    		echo htmlspecialchars(nl2br($sel['omschrijving']));
    		echo '<br />';
    	}
    }
    ?>
    Toon Meer
  • Dpm_x
    Intermediate
    Berichten
    351
    • 26 maart 2011 om 15:23
    • #6

    Bedankt ;)
    en ik ben van plan alles zelf te maken dus niet nodig , maar toch bedankt :)

  • L.Groot
    Elite members
    Ontvangen Reacties
    31
    Berichten
    4.888
    • 26 maart 2011 om 15:27
    • #7

    Je kan het iig gebruiken als handleiding en/of documentatie ;).
    Dit systeempje is optimaal beveiligd ;).

  • Dpm_x
    Intermediate
    Berichten
    351
    • 26 maart 2011 om 15:34
    • #8

    idd als handleiding is het wel handig aangezien ik toch redelijk veel moet opzoeken terwijl ik bezig ben :D

    Nieuwe reactie samengevoegd met originele reactie op 26.03.11 17:32:10:
    heeft iemand een tutorial voor dit? :
    ik wil dat er maximaal 20 leden op 1 pagina staan , vanaf dan moet er een nieuwe pagina aangemaakt worden

  • Thisguyisgone
    Elite members
    Ontvangen Reacties
    197
    Berichten
    7.880
    • 27 maart 2011 om 00:50
    • #9

    Tada
    http://www.sitemasters.be/tutorials/1/1/…in_PHP_en_MySQL

  • YinYangYo
    WG2
    Berichten
    55
    • 27 maart 2011 om 10:58
    • #10

    Beveilig tegen bots, greasemonkey.

  • Jackie
    Hardstyle
    Berichten
    224
    • 27 maart 2011 om 13:33
    • #11

    L.Groot

    Als je htmlspecialchars hebt gebruikt om iets in de database te zetten.

    Staat het al als html tekens in de database.

    En waarom zou je dan htmlspecialchars weer gebruiken tijdens het uitspugen van de gegevens uit de database?

    Of zie ik het verkeerd?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • L.Groot
    Elite members
    Ontvangen Reacties
    31
    Berichten
    4.888
    • 27 maart 2011 om 22:12
    • #12

    Oja, snelheidsfoutje :)
    Pas ik morgen wel even aan.

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