Posts by Stefan.J

    Een WHERE-clause mag geen komma's bevatten om veldnamen te scheiden, niet zo vreemd, het is een voorwaarde, geen lijst.


    PHP
    $dbres = mysql_query("SELECT * FROM autos WHERE owner='" . $data->login . "' AND (soort='1' OR soort='2' OR soort='3') ORDER BY id");


    In plaats van alle vergelijkingen van soort, kan het ook zo:


    PHP
    soort IN(1,2,3)

    Er staat nu:


    PHP
    if($wapen = 2){


    = betekent: Definieer naar 2, of terwijl: $wapen = 2. Dat is altijd correct, dus de lus wordt altijd doorlopen.


    Je zult == moeten gebruiken: Is gelijk aan?

    Vergis je er niet in: Hotmail heeft een grote lek gehad, al was het welliswaar geen XSS lek.


    Hotmail stuurt de sessie mee in de URL, wat je wel meer ziet. Deze sessie hadden ze vroeger niet aan een IP gekoppeld (tegenwoordig wel). Hierdoor was het dus heel simpel een email-account binnen te komen: Via een link stuurde je iemand naar je website, waar je de refferal (pagina waar jou link op staat) opsloeg. In jawel hoor! Je kon de sessie hijacken.

    Interresant topic, daar gaan we dan!:p


    Ten eerste is Brute force geen beveiligingslek, maar een techniek waarmee wachtwoorden kunnen worden achterhaald. Je kunt hier natuurlijk wel tegen beveiligen.


    - Met welke beveiligings fouten was jij bekend?
    Wat je genoemd hebt alles.
    - Hoe voorkom jij dit?
    Niks anders dan input valideren.
    - Wat is je ondernomen actie?
    De bevieliging wordt het meest geregeld binnen het framework (kohana), maar hier en daar kom ik zelf ook nog wel aan het valideren.
    - Heb jij je coding aangepast na dit bericht?
    Nee.


    Citaat

    Buffer overflow is een crash van het programma. Maar om zelf zo'n buffer overflow te veroorzaken moet je eerst gebruik maken van die andere lekken om je eigen code in de applicatie te krijgen.


    Dit kan ook wel eens wanneer je geen verdere toegang tot het systeem hebt. Echter, PHP is hiervoor meestal ongevoelig door een memory_limit en een max_execution_time. In criminalspoint zat ook nog een dergelijke lek, deze heb ik er destijds uitgehaald. Hij was wel zo goed als onschadelijk door de configratie van PHP.


    Het leuke van RFI en LFI is, dat zodra je op een server een RFI bug vind, je de rest kunt gaan testen op LFI. LFI is iets waarvan ik denk dat het heel veel voorkomt.

    Citaat van Morellow


    De eenvoudigste manier? Met PHP heb je met 2 regeltjes code een beter resultaat dan een cronjob.


    Waarom? Omdat je cronjob in OP 1x per 24 uur de crontab doorloopt. Dus als je om 23:59 klikt, kan je om 0:00 weer klikken, wat toch niet de bedoeling is lijkt me.


    Je begrijpt nu de definitie van een cronjob verkeerd. Een cronjob houd in: Een opdracht in een bepaalde frequentie uitvoeren. Wat jij bedoeld is gewoonweg een actie niet meer laten uitvoeren, als dit bijvoorbeeld een uur of eerder geleden al is gedaan.


    Natuurlijk raad ik aan gewoon crontabs te gebruiken. Echter, wanneer je die niet tot je beschikking hebt is het vaak ook mogelijk het via een PHP-bestand te doen die je bij iedere request uitvoert. Dit is weliswaar veel zwaarder voor de server, maar niet minder betrouwbaar als het moment van uitvoeren er niet zozeer toe doet, maar het feit van uitvoeren op een bepaald moment.


    Hopelijk heb ik mijn verhaal een beetje duidelijk verteld.

    Je hebt overigens wel een grote beveiligingslek met die zichtbare session-id's. Zou dat maar eens even veranderen, want dat is voor een site als deze levensgevaarlijk...


    Edit: Zo te zien lijkt het toch nog wel mee te vallen. Weet overigens ook niet of je ze aan een IP koppelt, maar dat is ook niet echt een geweldige beveiliging, met name niet op scholen.

    Gewoon proberen via de garantie te regelen als je dat nog hebt. Alle laptops hebben twee jaar garantie met terugwerkende kracht sinds enkele maanden (wettelijk verplicht). Anders zou ik het zelf even proberen als ik jou was. Ik weet niet wat er precies kapot is, maar met een beetje fantasie kun je een hoop.:)

    PHP
    if (isset($_Post['verzenden'])) {


    En vervolgens staat er in je formulier:


    PHP
    <input class="knop" name="submit" type="submit" value="Verzenden">


    Lijkt me toch duidelijk dat PHP niet kan raden. En als je het nu nog niet snapt, zoek dan eens op Google naar een simpele tutorial over PHP en formulieren.

    NetBeans IDE inderdaad. Beste Java editor en voor PHP ook al aardig onderweg. Wordt goed doorontwikkeld. Een nadeel is wel dat het een redelijk zware IDE is. Maar daarvoor is het ook een IDE en geen simpele editor.

    Jammer dat als één iemand een keer heeft geschreeuwd dat mysql_fetch_object slomer zou zijn dan mysql_fetch_assoc, dat dat dan ineens zo is. Ik citeer van http://php.net/manual/en/function.mysql-fetch-object.php:


    Citaat

    Note: Performance
    Speed-wise, the function is identical to mysql_fetch_array(), and almost as quick as mysql_fetch_row() (the difference is insignificant).


    Persoonlijk gebruikte ik altijd een associatieve array, en geen object. Immers ging het alleen om data, en niet zozeer om een object, vond ik dan. Tegenwoordig gebruik ik PDO of iets wat zich binnen een framework bevind. Pas als je de tweede parameter van mysql_fetch_object gaat gebruiken, wordt het interessant. Je kunt de data dan namelijk gelijk in je eigen klasse stoppen.