Netsensei

Much Ado About Nothing

Php

Bookmarks van november 17th tot november 23rd

Twitter API: babysteps

** techneutenwaarschuwing **

Gisteren ben ik wat met de Twitter API beginnen spelen. De whatnow? De Twitter API, dus. Samengevat: wanneer je zelf een programma schrijft, laat de API van toepassing x of service y toe om (beperkt) gebruik te maken van diens functionaliteit. Als je, bijvoorbeeld, met Twitter Stats werkt, dan zal die via de API van Twitter al je gebruikersgegevens opvragen, ontvangen en verwerken in mooie grafiekjes.

Op zich schrijft een API enkel voor welke regels je moet volgen om te kunnen communiceren. De programmeertaal, het platform of weet-ik-veel waar je zelf mee aan de slag bent, spelen een stuk minder een rol. Buiten dan dat ze je in staat moeten stellen om gebruik te kunnen maken van die functionaliteit.

OpenID versus rekenkracht

OpenID maakt gebruik van nogal wat cryptografische berekeningen om gedeelde sleutels te genereren. Die zijn nodig om de communicatie tussen consumer, provider en user te kunnen authenticeren.

Helaas is cryptografie een kleine aanslag op de rekenmogelijkheden van een pc. Vandaag ben ik tegen zo’n limiet aangelopen. Ik had een wordpress installatie op mijn lokale server geïnstalleerd met daarin een checkout van de plugin uit mijn subversion repository. Na wat inpaswerk (nog op een paar op te lossen probleempjes gestoten) kwam het testwerk: werkt mijn plugin ook op een maagdelijke wordpress installatie? Ik werd geconfronteerd met volgende melding:

Verlof

Eén van mijn betere ideeën was om verlof te nemen deze week. Schoon weer, geen regen, niet te warm en niet te koud. Ideaal! Wilde plannen heb ik niet. Voorlopig heb ik mij eigenlijk voornamelijk bezig gehouden om openid te doorgronden.

Ik heb mij gelijk de JanRain PHP library gedownload om er wat mee te spelen. De uitleg in de API documentatie was zo duidelijk dat ik meteen een eenvoudige consumer kon maken en via mijn blog (een openid delegate in het jargon) mijn openid verifiëren. Meer zelfs, toen ik mijn implementatie even vergeleek met één van de voorbeelden van JanRain bleken die quasi krek hetzelfde te zijn! En zelf een server opzetten en laten draaien is ook niet zo heel erg moeilijk.

Smarty

Ik ben al enkele dagen aan de slag met Smarty, een template engine voor PHP, om mijn Beads projectje te herschrijven. Het handige is dat ik nu de presentatie volledig kan scheiden van de backend en de business logic. Meer zelfs Smarty dwingt mij zo’n beetje om alles objectgeoriënteerd te doen.

Waarom zou ik dat willen? Omdat properder code te genereren, om code te hergebruiken, om te kiezen voor een andere template engine moest ik dat willen,… Tot nu toe bestond mijn projectje uit een HTML pagina die afzonderlijke PHP functies aanriep. Het gevolg was een hoop spaghetticode die maar weinig flexibiliteit toeliet. Dat ligt nu totaal anders. Stel dat ik een andere template engine wil, dan kan ik dat perfect zonder het zaakje volledig te moeten herschrijven. Het mooie is dat ik ongelofelijk snel nu dingen kan gaan implementeren. Waar ik vroeger serieus heb moeten knoeien om een min-of-meer werkende login te schrijven, heb ik het nu geklaard met een paar regels.

In het nieuw

Zo. Ik heb mijn weblogje in een nieuw kleedje gestoken. Ik wilde er aan het begin van het nieuwe jaar eens werk van maken en dus heb ik de voorbije week af en aan wat zitten pleuren met HTML, CSS en PHP. Als je de blogosfeer een beetje kent, dan zal je wel zien dat ik de mosterd ook bij anderen heb gehaald voor een aantal zaken. Beter goed gekopieerd dan slecht uitgevonden en al. Ik hoop dat het resultaat bevalt.

Base64

* Opgelet: techneutengeweuzel! *

Wat doet een mens die helemaal nog geen zin heeft om om 3 uur ’s nachts te gaan slapen? Die implementeert gewoon voor de gein RFC 3584 voor Base64 encoding in PHP onder het motto ‘het moet niet altijd sexy-spannende-web-twee-punt-nul software zijn.

Demo
Source code

Maar waarom? In PHP zitten er toch al die handige base64_encode en base64_decode functies? Wel, ’t is eens een mooie progammeeroefening.

Gehacked (4)

Die ochtend in mijn postbus:

Geachte heer,
De hacker heeft gebruik gemaakt van een algemeen veiligheidslek in PHP daar meerdere websites getroffen werden. De PHP-versie op de server is daarop geupgrade naar de laatste nieuwe versie 4.4.4. Ook werden er nieuwe regels toegevoegd in ModSecurity (apache-plugin) om de meest bekende veiligheidslekken zoals XSS, Sql-injection en andere te blokkeren.
De schade die de hacker aanbracht bleef beperkt tot:

  • het plaatsen van een index.html bestand in de public_html map
  • Aanpassen/Overschrijven entries in de tabel categories van de database

Deze aanpassingen hadden tot gevolg dat een redirect werd gedaan naar de website. De gevolgen zijn dus relatief beperkt gebleven.
De FTP-logbestanden van netsensei.nl gaven geen verdachte loginpogingen weer. Preventief zijn beide ips geblockt.
Om problemen in de toekomst te vermijden raad ik u aan om regelmatig uw software te upgraden naar de laatste nieuwe versie.

Beads

Het kan verkeren, zei Bredero. Blijkbaar heb ik een [tag]project[/tag] gevonden waar ik iets van wil maken: een schijnbare rip-off van del.icio.us. Het is een PHP script waarmee je zelf aan [tag]bookmarking[/tag] kan gaan doen en je bookmarks kan publiceren. Het was een idee van oud-collega D. Het probleem was namelijk het bijhouden en uitwisselen van ons bibliografisch apparaat op het werk in een centrale locatie. Ik flanste op een dag en een nacht een [tag]PHP[/tag] script ineen waarmee dat mogelijk werd. Anderen vonden het idee goed genoeg om het ook te willen gebruiken. Gaandeweg ging de bal aan het rollen en tot mijn verrassing gaat het al wat verder dan het oorspronkelijke idee. Los van het klassieke taggen van bookmarks en het bookmarken met een del.icio.us stijl knopje zitten er een aantal specifieke features in:

‘Ollander

Blijkbaar stel ik nogal wat mensen teleur dat ik géén Hollander ben. Hah! Mijn dot nl tld zet mensen nogal op het verkeerde been. No sweat, tijd om het nog maar eens uit de doeken te doen.

In de jaren stillekens was ik lid van het systeembeheerdersteam bij deze mensen. Ik had daar toen wat webruimte waar ik mijn eerste stappen in PHP en het bloggen zette. Toen ik daar wegging in 2003, moest ik uitkijken naar een nieuw toevluchtsoord. Op dat moment volgde ik de Nederlandse weblogscene. Van een vergelijkbare Vlaamse blogosfeer was toen nog niet écht sprake. Via een actie van Flabber en Flaxe webhosting kon ik goedkoop webruimte met alles erop en eraan op de kop tikken. Maar dan wel met de dot nl extensie. Met de jaren ging ook hier alles in een stroomversnelling en ben ik mijn interesse voor de Nederlandse webloggers wat verloren voor wat hier gebeurt. Alleen de dot nl naam is nog een restantje uit dat verleden.

« Vorige blogpostsPagina 1 van 2 pagina'sVolgende blogposts »