Posts by Darsstar

    Je slaat de onbewerkte input op in de database. Wanneer je deze als HTML wilt weergeven gebruik je pas htmlspecialchars() en nl2br(). Zo kun je het ooit ook nog als bijvoorbeeld JSON aan javascript voeren.


    Gebruik functies zoals htmlspecialchars(), mysql_real_escape_string(), nl2br(), strip_tags() en dergelijke pas als ze nodig zijn en niet eerder.


    PS. een uitzondering is als je zowel een bewerkte als onbewerkte versie op gaat slaan in je database om niet bij elke request die zelfde bewerkingen te doen.

    Enters worden wel correct opgeslagen. Als je de broncode gaat bekijken hoor je te zien. Gebruik nl2br() om van een newline ('enter') teken <br /> te maken.

    Dat is een gigantisch lange url dan...
    Voor de verplichte delen gebruik je mod_rewrite om de url iets mooier te maken. Voor de optionele delen gebruik je $_GET waarvoor het ook bedoeld is.

    Of je gebruikt de volgende query in plaats van die hele blok code:

    PHP
    mysql_query("UPDATE `[users]` SET bank=bank+15000000*belbonus WHERE belbonus>0") or die(mysql_error());


    Waarom in php een loop maken en berekeningen doen als MySQL dat net zo goed voor je kan doen, en nog overzichtelijker ook.

    Ik neem aan dat je de } die bij de if hoort ook weg hebt gehaald.
    Als je $member->login vervangt zie ik geen enkel probleem met je code.


    @BrokenTrack
    Dat doet hij, alleen mooier eengezien hij geen string bij een int optelt.

    De MySQLi extensie heeft een OOP en een PP interface. De PP interface maakt gebruik van de OOP interface. Class constructors zullen altijd een object returnen. (De vorrige zin is technisch gezien niet correct, maar daar komt het wel op neer) Een niet-leeg object zal als een vorm van true gezien worden.


    Dus: jij gebruikt mysqli_connect(...), mysqli_connect(...) gebruikt new MySQLi(...) en dat is altijd een object.


    Om die reden gebruik je $MySQLi->connect_error om te kijken of de verbinding mislukt is.


    PS. waarom de __ prefix?

    Vergeet niet de controlle ook in de verwerkings code te zetten. Als iemand nou geen contract heeft getekend maar wel de kennis heeft om het formulier aan te passen. Dan kan hij/zij toch de data versturen alsof die je code alleen verwacht als hij/zij wel een contract heeft getekend en dus mogelijk onterecht bepaalde code uitgevoerd wordt.


    TL;DR:
    Vertrouw nooit user input.

    Laat me mijn kristallen bol uit de kast pakken zodat ik je code kan bekijken.


    Weet je zeker dat het rechter menu niet onder het. Linker menu staat en de hele breedte van de pagina in beslag neemt? (scrol eens naar beneden de volgende keer dat het gebeurt)

    PHP
    function procentLevel($input){
    
    
    return number_format($input % 9 / 9 * 100,'1');
    
    
    }


    Is iets kleiner :p
    De modules (%) operator geeft de rest terug die overblijft na een deling met het getal aan de rechter kant van de operator.


    9 past 3 keer in 33 en je houd dan 6 over
    33 % 9 == 6

    Salting gaat over iets toe te voeren aan het wachtwoord woordat je het hashed. Er bestaan namelijk zogeheten rainbow tables zoals http://passcracking.com die kunnen zoeken of een gehashde waarde in hun database voorkomt en dan de ongehashde waarde terug geeft.
    Door iets toe te voegen wat uniek is voor jouw site, of liever nog, voor die user zou er dan zo'n rainbow table gemaakt moeten worden voor elke site/user wat veel langer duurt dan een bestaande gebruiken.


    Bcrypt is een manier van hashen die rekening houd met Moore's law - processoren worden per achttien maanden twee maal zo krachtig worden.


    XSS komt er op neer dat een gebruiker code in bijvoorbeeld zijn username probeert te zetten om zo elke keer dat zijn username in de output voorkomt je browser de code uitvoert. Als de output html is hoor je htmlspecialchars() te gebruiken met de juiste parameters (die van de situatie afhangen.)


    De rest mag je zelf opzoeken.

    @BrokenTrack hij wilt iets van het zelfde niveau, ik vermoed dat hij nog nooit van beide afkortingen heeft gehoord.


    Je kunt een simpel login systeem maken met oog op veiligheid.
    Doe dan eerst even wat onderzoek naar de volgende begrippen: SQL-injection, salting, bcrypt, xss en session fixation.


    Maar kom welom feedback vragen voor je iets vrijgeeft.

    Wil jij uitleggen wt je wil dat het gaat doen? Zolang je alleen code geeft die geen syntaxis errors bevat kunnen we alleen zeggen dat de code werkt maar niet hetgewenste resultaat produceert.


    Je kunt beginnen met waar je de getallen 9 en 900 vandaan hebt gehaald.

    Voor Tekst in een element gebruik je text-align bij dat element dat tekst bevat. Voor een element in een ander element gebruik je margin-left: auto en margin-right: auto; in het child element.

    Net gedaan. Ik zat er net als iedereen hier een tijd tegenaan te staren.
    Edit: 2x zelfs aangezien het hem alleen om de config.php gaat niet dat dat script de config.php schrijft.

    Ik ga dit dan maar nog een keer zeggen: regels 132 tot en met 154 horen een string (rood) te zijn.
    Wat niet de bedoeling is dat je dubbele quotes gebruikt terwijl je niet ge?scapte $ in de tekst gebruikt.