1 2 3 4 | $nlDagen=Array('','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag','Zondag'); $dagNaam=$nlDagen[time(N)]; ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <ul> <li><a href="/">Home</a></li> <li><a href="http://www.biertafel.eu/index.php?submit">Over ons</a></li> <li><a href="/">Archief</a></li> <li><a href="http://forum.biertafel.eu">Forum</a></li> <li><a href="/">Winkel</a></li> <li><a href="/">Contact</a></li> </ul> </div> <div id="main"> <?php if(isSet($_GET['submit'])) { include('polladmin.php'); } else { include('poll.php'); } ?> <P> |
kijk maar naar de poll op de homepagequote:Op dinsdag 11 november 2008 17:26 schreef Xcalibur het volgende:
op zich een prima manier, maar ik zou het includen van de admin niet af laten hangen van het gezet zijn van een get-variabele... dat is nogal een security risk namelijk
De poll op zn homepage heeft totaal geen beveiliging, iedereen kan een nieuwe poll aanmaken..quote:Op dinsdag 11 november 2008 17:40 schreef Xcalibur het volgende:
uh, poll, homepage?
Ik geloof niet dat ik snap waar je het over hebt....
ik weet dat iedereen de admin-pagina kan bereiken. dit is ook alleen maar om te testen.quote:Op dinsdag 11 november 2008 17:26 schreef Xcalibur het volgende:
op zich een prima manier, maar ik zou het includen van de admin niet af laten hangen van het gezet zijn van een get-variabele... dat is nogal een security risk namelijk :)
1 2 | include('polladmin.php'); |
klopt, dat weet ik.quote:Op dinsdag 11 november 2008 17:42 schreef qu63 het volgende:
[..]
De poll op zn homepage heeft totaal geen beveiliging, iedereen kan een nieuwe poll aanmaken..
En een extra check op je polladmin kan ook geen kwaad..quote:Op dinsdag 11 november 2008 17:26 schreef Xcalibur het volgende:
op zich een prima manier, maar ik zou het includen van de admin niet af laten hangen van het gezet zijn van een get-variabele... dat is nogal een security risk namelijk
Zoiets bedoel je?quote:Op dinsdag 11 november 2008 17:44 schreef rulerofdeath het volgende:
[..]
ik weet dat iedereen de admin-pagina kan bereiken. dit is ook alleen maar om te testen.
ben een beetje aan het klooien met m'n webpagina.
is het ook mogelijk om onderstaande te vervangen door variabelen en dat ik niet alles hoef te hardcoden? (Dat ik dus de naam van de webpagina als variabele kan gebruiken)
[ code verwijderd ]
1 2 3 | include($_GET['page'].'.php'); ?> |
bedankt. zoiets bedoel ik.quote:Op dinsdag 11 november 2008 18:11 schreef Light het volgende:
[..]
Zoiets bedoel je?
/path/to/site/index.php?page=poll
[ code verwijderd ]
Dat werkt gewoon. Het is absoluut niet veilig, maar dat vroeg je ook niet.
Het probleem met variabelen uit de QueryString is dat ze zo makkelijk te beïnvloeden zijn en dus erg vatbaar zijn voor kwaadwillige injectie vanuit de gebruikerskant. Er kunnen op die manier dus allerlei onverwachte problemen opduiken.quote:Op dinsdag 11 november 2008 19:18 schreef rulerofdeath het volgende:
[..]
bedankt. zoiets bedoel ik.![]()
Qua veiligheid maakt het toch niets uit als ik op deze manier alleen pagina's wil weergeven en niet een pagina als die polladmin.php wil bereiken?
Laat ik je een geheimpje verklappen: Met het programmeerwerk voor expliciet hetgeen dat je wilt doen, ben je meestal zo klaar. Vaak ben je echter meer dan de helft van de tijd bezig met het 'hufterproof' maken van je script/programma.quote:Op dinsdag 11 november 2008 19:46 schreef rulerofdeath het volgende:
dus ietsjes meer typewerk scheelt wel in de veiligheid?
dan gaat dat voor.
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 31 32 33 34 35 36 | function quote_smart($value, $type = false, $NULL = false) { $value = trim($value); if ($type != 'html'){ $value = strip_tags($value); } if (strlen($value)) { # We have something if ($type == 'num'){ if (is_numeric($value)){ return $value; }else{ trigger_error(sprintf("%s: '%s' is not a number!", __FUNCTION__, $value), E_USER_ERROR); return null; } }else{ if (get_magic_quotes_gpc()) { $value = stripslashes($value); } if(version_compare(phpversion(),"4.3.0") == "-1") { return mysql_escape_string($value); } else { return mysql_real_escape_string($value); } } }else{ if ($NULL) { return null; } } } ?> |
Ja, het is wanneer we het over data-opslag hebben natuurlijk logisch dat data opgeslagen wordt hoe het door de gebruiker ingevoerd wordt. Het beveiligen is nodig op het moment dat de invoer-query uitgevoerd wordt, op dat moment worden aanhalingstekens e.d. dusdanig onschadelijk gemaakt zodat de uitvoerende functie niet geïnjecteerd kan worden met bagger.quote:Op vrijdag 14 november 2008 09:28 schreef Likkende_Lassie het volgende:
Vraagje, als ik waardes door de volgende functie haal, om ze veilig te maken, komen ze alsnog met quotes en zonder slashes in de database, ik weet waarom, maar is het veilig genoeg?
[ code verwijderd ]
1 2 3 4 5 6 7 8 9 | if(get_magic_quotes_gpc()){ $value=stripslashes($value); } if(!is_numeric($value)){ $value=mysql_real_escape_string($value); } return $value; } |
1 2 3 4 5 6 7 8 9 | $Month = '11'; $Year = '2008'; $a_query = mysql_query("SELECT `datum` FROM `data` WHERE `datum` LIKE '%-$Month-$Year'"); while ($array = mysql_fetch_array($a_query, MYSQL_ASSOC)) { $arrays[] = $array; } ?> |
1 2 3 4 5 6 7 8 9 10 | $DaysMonth = cal_days_in_month(CAL_GREGORIAN, $Month, $Year); for ($i = 1; $i <= $DaysMonth; $i++) { $date = '' .$i. '-' .$Month. '-' .$Year. ''; if (in_array('$date', $arrays)) { echo "yes"; } } ?> |
Waarom zo omslachtig? Je kunt toch ook al door middel van DAY() / MONTH() / YEAR() MySQL functies in je query de records ophalen die je moet hebben?quote:Op vrijdag 14 november 2008 10:25 schreef saban het volgende:
Om te voorkomen dat ik 30 keer een query moet doen in een for bouw ik een array op buiten mijn for, dit doe ik door middel van:
[ code verwijderd ]
Nu heb ik de data wat uit de terug komt gezet in $arrays.
Vervolgens wil ik in een for checken of de datum in mijn for voorkomt in de array, door middel van:
[ code verwijderd ]
Echter werkt dit niet omdat ik in mijn while een array in een array maak.
Wat is hier de oplossing van?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |