1 2 3 4 5 6 7 8 9 10 11 12 13 | function userInput($string){ if(get_magic_quotes_gpc()){ $string = stripslashes($string); } if (phpversion() >= '4.3.0'){ $string = mysql_real_escape_string($string); } else{ $string = mysql_escape_string($string); } return $string; } ?> |
Beter doe je:quote:Op zaterdag 17 april 2010 16:56 schreef Apebeer het volgende:
Trouwens voor de mensen die niet echt aan beveiliging denken:
[ code verwijderd ]
Simpel maar effectieve code
Gebruik:
$naam = userInput($_POST['naam']);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | function escapeAllInput($boolXSS) { foreach(list($_POST, $_GET, $_COOKIE) as &$arrGlobal) { foreach($arrGlobal as $strKey => &$strValue) { if(get_magic_quotes_gpc()){ $strValue = stripslashes($strValue); } if($boolXSS) { $strValue = htmlspecialchars($strValue); } if(function_exists('mysql_real_escape_string')){ $strValue = mysql_real_escape_string($strValue); } elseif(function_exist('mysql_escape_string')){ $strValue = mysql_escape_string($strValue); } else { $strValue = addslashes($strValue); } } } } ?> |
Kan ook ja, maar soms wil je niet alles filterenquote:Op zaterdag 17 april 2010 17:01 schreef Trollface. het volgende:
[..]
Beter doe je:
[ code verwijderd ]
In het geval van user input wel, imo.quote:Op zaterdag 17 april 2010 17:02 schreef Apebeer het volgende:
[..]
Kan ook ja, maar soms wil je niet alles filteren
Klopt ja, had het even uit mijn kop getikt, bijgewerkt.quote:Op zaterdag 17 april 2010 17:03 schreef SinofEnvy het volgende:
is_function()? Nog nooit van gehoord, is ook niks te vinden op de PHP documentatie. Wel ken ik function_exists, bedoel je dat?
Truequote:Op zaterdag 17 april 2010 17:03 schreef Trollface. het volgende:
[..]
In het geval van user input wel, imo.
Het systeem verbeteren was veel minder werk dan hem opnieuw bouwenquote:Op zaterdag 17 april 2010 17:14 schreef SinofEnvy het volgende:
Klinkt sowieso dus niet als een goed systeem om verder op te bouwen...
Dat laatste is in verband met verwijzingen vanaf andere tabellen op basis van ID niet altijd een slecht idee. Soms wil je een complete historie behouden ondanks dat het op het zicht weg moet zijn. Een vlaggetje is daarvoor opzich geen ramp. Al zou ik dat dan niet letterlijk 'verwijderen' noemen in de applicatie, maar eeder iets in de trant van 'archiveren', en er dan een apart overzicht van maken, ofzo.quote:Op zaterdag 17 april 2010 17:09 schreef Apebeer het volgende:
Ik heb de halve week gewerkt aan een enorm systeem dat opeens niet meer werkte naar een overzet van < PHP 4.3 naar de nieuwste. Bleek dat de programmeur niet $_POST['naam'] gebruikte maar gewoon direct $naam(register_globals toch?) Kon ik alles gaan overzetten En natuurlijk geen controle op de userInput, en ipv een record deleten uit de database had hij verwijderd op 0 of op 1 Dus ipv deleten update hij een record
In de meeste gevallen was er geen link tussen de tabellen, en was er ook geen nut om ze te bewaren.quote:Op zaterdag 17 april 2010 18:03 schreef Intrepidity het volgende:
[..]
Dat laatste is in verband met verwijzingen vanaf andere tabellen op basis van ID niet altijd een slecht idee. Soms wil je een complete historie behouden ondanks dat het op het zicht weg moet zijn. Een vlaggetje is daarvoor opzich geen ramp. Al zou ik dat dan niet letterlijk 'verwijderen' noemen in de applicatie, maar eeder iets in de trant van 'archiveren', en er dan een apart overzicht van maken, ofzo.
Anyway, bij sommige systemen die ik voor mijn werk maak is het ook gewoon de policy dat er nevernooit wat verwijderd dient te worden en dat we gewoon een kolom 'active' op 0 zetten
ipv van notepad++ gebruik ik Zend Studio 6, maar xampp is perfect voor localhost ontwikkelomgeving.quote:Op maandag 19 april 2010 12:13 schreef Puala het volgende:
Ik gebruik xampp & notepad ++
hoe bedoel je verdergaan?quote:Op maandag 19 april 2010 12:02 schreef Joooo-pi het volgende:
Hoe kan ik het beste wat programmeren in PHP. De probeerselen die ik tot nu toe gedaan heb, heb ik als volgt gedaan. Ik heb een virtueel LAMP servertje draaien. Daar SSH ik heen met PuTTy en in de commandline schrijf ik de php bestanden met nano. Dit was even om te oefenen, maar nu wil ik er verder mee gaan.
Wat is een normale werkwijze?
draai een lokale LAMP server? en als het klaar is upload je het?quote:Op maandag 19 april 2010 16:13 schreef Joooo-pi het volgende:
Oké ik ga de tips bekijken. Het LAMP servertje blijft, maar het schrijven in nano is wat primitief.
Enige wat ik dan klote vind is dat je bij editen telkens moet copy-pasten naar de remote LAMP server.
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseertquote:Op maandag 19 april 2010 16:13 schreef Joooo-pi het volgende:
Oké ik ga de tips bekijken. Het LAMP servertje blijft, maar het schrijven in nano is wat primitief.
Enige wat ik dan klote vind is dat je bij editen telkens moet copy-pasten naar de remote LAMP server.
FTP_Synchronize, wordt als het goed is standaard meegeïnstalleerd.quote:Op maandag 19 april 2010 17:42 schreef SinofEnvy het volgende:
Echt?! Dat zoek ik al een tijdje. Hoe heet die?
Nee kan niet. Ik ben dan op mijn werk op een standaard xp systeempje.quote:Op maandag 19 april 2010 16:19 schreef cablegunmaster het volgende:
[..]
draai een lokale LAMP server? en als het klaar is upload je het?
Dat lijkt me een goeie optie.quote:Op maandag 19 april 2010 17:22 schreef Trollface. het volgende:
[..]
Notepad++ heeft een plugin die lokale bestanden automagisch met die op een remote FTP-server synchroniseert
Dan via FTP met Dreamweaver verbinden en als je opslaat upload hij hem automatisch naar de serverquote:Apache/2.2.11 (Ubuntu) PHP/5.2.6-3ubuntu4.5 with Suhosin-Patch mod_ssl/2.2.11 OpenSSL/0.9.8g mod_perl/2.0.4 Perl/v5.10.0
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |