FTP protocol in PHP

Daar zijn we weer, maar dit keer met een oud scriptje. Altijd leuk om oude dingen weer even op te rakelen. Dit script laat zien
hoe je met een FTP server kan communiceren. Hier heb ik een aardig rfc’tje voor moeten doorspitten (niet helemaal, dat was echt teveel)

Read more…

25
Nov 2011
POSTED BY
POSTED IN PHP
DISCUSSION 0 Comments
TAGS

Live counter, maar dan efficient

Counters die het aantal bezoekers, berichten, etc bijhouden. Altijd heel mooi als dat goed loopt maar als het directe database opdrachten zijn dan zal je webserver
daar iets minder gelukkig mee zijn. Stel je voor dat je iedere seconde een database opdracht moet doen op een steeds maar groeiende tabel. Dit kan redelijk funest
worden voor je performance. Helemaal als je geen InnoDB hebt (er vanuit gaande dat je mysql zou hebben). InnoDB zorgt voor row locking in plaats van table locking.
Hoe kunnen we dan dit efficiƫnt krijgen?

Read more…

16
Feb 2011
POSTED BY
POSTED IN Javascript MySQL PHP
DISCUSSION 0 Comments
TAGS

benchmark een (php) pagina

Apache is handig, maar met de ab tool wordt het een feest als het gaat om performance test.
Deze benchmark tool is handig om een pagina op performance te checken. Database queries, loops in code,
enorme stacks creeren, etc. Al deze elementen kunnen er voor zorgen dat een pagina slecht gaat presteren.
Het ziet er heel mooi en snel uit natuurlijk als er maar 1 gebruiker is (meestal ben je het zelf ;-) ).
Maar wat doet de pagina als er 100 gebruikers zijn? of 1000?

Read more…

27
Jan 2011
POSTED BY
DISCUSSION 1 Comment

email valideren zonder regular expression

Voor de mensen die al een tijdje bezig zijn met PHP: wij zijn nog old skool bezig soms. Wij zijn opgevoed met de reguliere expressies, recursieve functies (en de daarbij behorende mem leaks ;-) ).

PHP wordt aangenaam, zeer aangenaam met de SPL library bijvoorbeeld. Nog zo een mooie is : filter_var.
Validation, sanitization en meer filters… voor het valideren van een variabele type, een waarde enz.

Read more…

23
Jan 2011
POSTED BY
POSTED IN PHP
DISCUSSION 2 Comments
TAGS

,

Password hashing in PHP

Iedereen weet al dat je wachtwoorden geencrypteerd in de database moet opslaan. Als je dat nog niet weet: ga je schamen!

Plain text wachtwoorden opslaan is not done, en MD5 is tegenwoordig ook nauwelijks voldoende meer. Brute force attacks zouden dit kunnen achterhalen.
Een brute force attack komt eigenlijk op het volgende neer:
net zolang allerlei karakters proberen tot het uiteindelijk lukt.
Hier heb je vaak al redelijk veel geduld voor nodig maar we kunnen ze het nog iets lastiger maken door SHA1 te gebruiken. SHA1 is 160 bits encryptie en MD5 is 128 bits encryptie. SHA1 is dus moeilijker te “kraken”.

Read more…

13
Jan 2011
POSTED BY
POSTED IN PHP
DISCUSSION 3 Comments
TAGS

,

PrettyTitles, een jQuery plugin

Mijn eerste jQuery plugin, dus waarschijnlijk nog een hoop schoonheidsfoutjes. Dit was een leuk experiment om te kijken hoe
de dingen te combineren zijn. Allereerst zal flash diverse “ExternalInterface” calls uitvoeren die weer direct communiceren met
javascript. In dit geval dus jQuery.

Doel van de plugin is ook een Font replacer zoals meerdere dat doen. In het bronbestand (.fla) kan je je eigen lettertype zetten
en deze weer exporteren. Het jQuery script zal op dat moment je H1 headers vervangen met een flash kopje dus.

De naam is inderdaad, zoals je al dacht, enigzins gekopieerd van PrettyPhoto
Download het pakket hier.

04
Jan 2011
POSTED BY
POSTED IN Javascript PHP
DISCUSSION 2 Comments

Afbeeldingen bewerken voor tonen/anti leech

Apache en manipuleren van afbeeldingen? Het is misschien raar gezegd maar het mooie van zo een htaccess is dat je elk bestand ,met elke gewenste extensie, overal naar toe kan sturen!
Zo dus ook afbeelding bestanden. Hieronder een voorbeeld over hoe alles wat wordt opgevraagd uit de image directory, hoe dat wordt doorgestuurd naar een PHP bestand die verder alles afhandelt. De eerste regels code sturen elke request die wordt gedaan aan de server, naar het images.php bestand. MITS er wordt voldaan aan de conditie! De conditie zegt in dit geval: alles wat wordt opgevraagd uit de /images directory moet doorgestuurd worden. Het bestand images.php wordt ingeladen en kan nu vanalles doen met het request wat gedaan wordt. Dit wordt vaak gebruikt tegen leechen.

//.htaccess code
RewriteCond %{REQUEST_URI} ^/(/images) [NC]
RewriteRule ^(.*)$ /images.php [L]
//php code
$image = file_get_contents($_SERVER["REQUEST_URI"]);
echo $image;
03
Jan 2011
POSTED BY
DISCUSSION 0 Comments
TAGS

,

Directory browser

Nog een script uit de oude doos. Ook geen schoonheidsprijs qua code, maar het is wel functioneel!
Alle bestanden en directories zullen hierin zichtbaar zijn. Je kan er doorheen bladeren en toont alle file permissions.
Let er wel op dat je dit niet al te openbaar maakt ;-)

Read more…

02
Jan 2011
POSTED BY
POSTED IN PHP
DISCUSSION 0 Comments
TAGS

Shell_exec errors ontdekken

Soms geeft de shell_exec veel output, soms ook helemaal niks.
Hier een klein stukje zodat ook errors in de output terecht komen.
Het gaat hier voornamelijk om het stukje: 2>&1

Read more…

02
Jan 2011
POSTED BY
POSTED IN PHP
DISCUSSION 0 Comments
TAGS

Cast voor return

Het casten van een variabele gaat in PHP met de setType() functie.
Hier wordt er een cast gedaan voordat een functie een waarde retourneert.
Dit kan erg makkelijk zijn, zodat je zeker weet dat er een boolean/int/etc door komt.

Read more…

02
Jan 2011
POSTED BY
POSTED IN PHP
DISCUSSION 0 Comments
TAGS