Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

Oók interessant - #6

En alweer nummertje 6 in de Ook Interessant serie. Zoals je gemerkt hebt is het wat rustig op Scriptorama op het moment, vandaar ook dat de Ook Interessant post van deze week wat verlaat is. Ik hoop zelf de komende twee weken wat meer tijd te hebben voor Scriptorama.

Heb je zelf nog een interessante link voor je mede scriptorama lezers, post hem in het Grote-Link-Meld-Topic.

Exploring Opacity Step-by-Step - Stap voor stap word je begeleid hoe opacity werkt in CSS3 onder verschillende browsers.

21 things I learned about CakePHP - Een lijst van handige en praktische tips voor CakePHP gebruikers.

Python 2.5 Release - Op verzoek een totaal ander nieuwtje, een nieuwe release van dynamically typed programmeertaal Python.

VIM 7 Autocompletion - Je hoeft geen fullfledged IDE te hebben om autocompletion te gebruiken. Dit artikeltje laat autocompletion in VIM 7 zien.

How to install PHP on IIS7 - Een beknopte maar duidelijke handleiding voor het installeren van PHP op IIS7. Met screenshots!

Visual jQuery Magazine

Een interview met grote goeroe John Resig (jQuery's auteur), een inleiding, tutorials en een verdwaalde schaarsgeklede dame: de eerste uitgave van het digitale Visual jQuery Magazine is verschenen. Eerder berichtten wel al over deze JavaScript library. Het magazine wordt uitgegeven door Yehuda Katz, verantwoordelijk voor visualjquery.com en jQuery on Rails.

php|works presentaties

Vorige week vond de php|works conferentie plaats. Natuurlijk werden er weer interessante presentaties gegeven door enkele prominente mensen in de PHP wereld. Hieronder hebben we een collectie van de presentaties.

Volgende maand zal Zend/PHP Conference & Expo plaatsvinden. Nog meer interessante praatjes onderweg!

Help je bezoekers aan een scroll-vinger

Internet begint steeds belangrijker te worden. Ontwierpen reclamebureaus vroeger vaak alleen de flyers en folders voor een bedrijf, tegenwoordig komt daar ook de website bij. Bij het ontwerpen van een website komen echter hele andere aspecten kijken. Een flyer zal altijd in dezelfde vormgeving en op dezelfde manier weergegeven worden. Bij een website ben je echter afhankelijk van de browser waarin het getoond wordt. Doordat het een heel ander medium is, komen er hele andere ontwerp aspecten bij kijken.

(more...)

Oók interessant - #5

Posting 5 in onze Oók interessant reeks. Heb jij nou ook een interessante link die je met je mede-scriptorama-lezers wilt delen? Meld hem in het forum!

Writing PostgreSQL Functions with PL/pgSQL - Een reeks van artikelen over PL/pgSQL, PostgreSQL's user defined functies. Deel II en III.

Generate OpenOffice Docs with PHP - Veel mensen zijn benieuwd hoe ze Word documenten kunnen genereren met PHP en daar heb je veelal nare COM objecten voor nodig. OpenOffice documenten zijn simpelweg XML en dus makkelijk te genereren met PHP. Deze library geeft je enkele klassen om dit voor elkaar te krijgen.

Beyond the Guidelines: Advanced Accessibility Techniques - Het volgen van W3C's Web Content Accessibility Guidelines is tegenwoordig niet genoeg, hier zijn meer accessibility guidelines die je moet volgen.

Creating new Dojo Widget - De documentatie van de Dojo Toolkit is heel schaars. Daarom zijn artikelen als deze een zegen. De auteur laat zien hoe je een simpele widget kunt maken met Dojo's Widget.

Regular Expressions cheat sheet - Een ander handige cheat sheet, dit keer voor regular expressions. Printbaar in A4 formaat dus hang deze maar boven je bed!

Adobe Reader PDF backdoors

David Kierznowski, security specialist in web applicaties, heeft een interessante manier gevonden om Adobe's PDF reader te misbruiken. Hij legt uit hoe je achterdeurtjes in PDF bestanden kunt maken.

At first glance PDF documents seem obviously vulnerable. This is due to the fact that it supports JavaScript.

Hij heeft twee voorbeeld PDF bestanden. Backdoor 1, heeft een 'evil' link in het document. Bij het openen van dit bestand krijg je automatisch een redirect naar een ander URL. Wat zo gevaarlijk hieraan is dat je dus ook andere gevaarlijke code kunt toevoegen. Meeste lezers zullen niet PDF bestanden associeren met 'gevaarlijke code' en dat maakt dit ook gevaarlijk.

De tweede backdoor is nog gevaarlijker. Het is mogelijk om lokaal de ODBC database te benaderen via Adobe’s ADBC (Adobe Database Connectivity) en er is ook nog eens ondersteuning voor Web services. Je kunt code uitvoeren die opzoek gaat naar databases, alle informatie ophaalt en deze verstuurt via een web services.

I am sure with a bit more creativity even simpler and/or more advanced attacks could be put together. Adobe Acrabat supports, “HTML forms”, “File system access” and the list goes on.

Een mooie afsluiter van David:

The future of exploitation lies in Web technologies.

Joel Spolsky over de performance van Ruby

Joel Spolsky, bekend van de de techblog JoelOnSoftware.com, heeft besloten zich eens uit te laten over de performance van Ruby, de taal achter het populaire Ruby On Rails framework, en heeft daarmee de nodige ruby-isten voor het hoofd gestoten. Hij schrijft:

I've seen lots of comparisons of Ruby's performance with bytecode languages like Java which I would consider slow, and I see a lot of reports of performance claiming Ruby is 10x slower, 50x slower, etc. Besides the random blogobuzz, Ruby comes pretty darn close to dead last in the Computer Language Shootout Benchmarks.

Nu is er natuurlijk niets mis met het constateren van bepaalde dingen, en er zijn mensen die nadenken over oplossingen - maar wat Jeff Atwood van CodingHorror.com in het verkeerde keelgat schoot is dat Spolsky vond dat vervolgens vermeldde dat het FogBugz, het hoofd product van het bedrijf van Spolsky, nooit op Ruby zou kunnen draaien vanwege die performance problemen. Dat was op zich nog niet het probleem:

For instance, two weeks ago we found out that Joel's company wrote their flagship product, FogBugz, in a proprietary language they created themselves.

FogBugz is written in Wasabi, a very advanced, functional-programming dialect of Basic with closures and lambdas and Rails-like active records that can be compiled down to VBScript, JavaScript, PHP4 or PHP5. Wasabi is a private, in-house language written by one of our best developers that is optimized specifically for developing FogBugz; the Wasabi compiler itself is written in C#.

You couldn't possibly have heard it, but that was the sound of fifty thousand programmers' heads simultaneously exploding.

Lees Jeff's hele rant op CodingHorror.

Het is een beetje een wellus-nietus verhaal, maar het is wel erg vermakelijk. Al was het alleen maar omdat zowel Joel Spolsky als Jeff Atwood erg vermakelijk kunnen schrijven ;-)

In ander Ruby nieuws: via de TextMate blog zien we dat er een nieuwe screencast beschikbaar is. Deze screencast toont het toepassen van unit tests bij een bepaalde Ruby Quiz. Ook worden de nodige features van TextMate en TextMate's Ruby bundle uitgelegd.

Zend PHP5 Certification nu beschikbaar

We hadden er al eens eerder over gerapporteerd maar dinsdag is de nieuwe Zend PHP5 Certification dan toch echt beschikbaar geworden voor het, eh.. grote, eh... webdeveloper publiek.

Zend PHP 5 Certification was the result of extensive communication with the Zend Certified Engineer community to determine how the program can be most useful for PHP developers. Some of the community’s top domain experts have contributed certification questions and reviewed the program to ensure that it is complete and tests for relevant skills. Becoming a Zend Certified Engineer gives developers an edge in today’s competitive technology market. Certification also helps enterprise management quickly qualify new hires, and keep current development teams knowledgeable about the latest technology.

De Zend PHP4 certificatie had enigzins te lijden onder de nodige kritiek omdat het de grenzen van het nuttige opzocht, maar de eerste reacties op de PHP5 certificatie lijken positief:

I took the beta exam, and it was excellent. Vastly superior to the PHP 4 exam, covering a much wider breadth of topics with much better questions (less syntax error stuff).
I think in all, the PHP 5 exam fixes all the things people bitched about with the PHP 4 exam.

Ben jij nog van plan om je te certificeren?

Oók interessant - #4

Posting 4 alweer in onze Oók interessant reeks. Heb jij nou ook een interessante link die je met je mede-scriptorama-lezers wilt delen? Meld hem in het forum!

CSS Formater/Optimizer - Begint je CSS zo langzamerhand te groot te worden of vergeet je gewoon altijd de shorthand notatie? Haal je CSS file eens hierdoor! Wederom bedankt forummer s.stok ;-)

The PageRank Algorithm - Het bekende Google PageRank algoritme wordt hier uitgebreid beschreven. Aan het einde van de pagina is ook nog een link naar de implementatie.

Why XHTML is a bad idea - Emil Stenström is van mening dat XHTML niet de toekomst is en argumenteert dat. Hij legt uit waarom XHTML slecht is en waarom we HTML moeten gebruiken of Web Applications 1.0 in de toekomst.

Delete all cookies in Firefox on shutdown, except from certain domains - Bij het sluiten van Firefox kun je ervoor zorgen dat cookies van bepaalde domeinen niet worden verwijderd. Scheelt je een hoop login gegevens intiepen!

Deprecated plugin: find old rails code - Edwin V, Uw eigen nieuwe scriptorama blogger, kwam met deze op de proppen: een Ruby on Rails plugin die zoekt naar code die eigenlijk niet meer gebruikt zou moeten worden.

PHP Security Scan met Chorizo

Op Scriptorama besteden we regelmatig aandacht aan security problemen binnen webapplicaties. We doen dit door uit te leggen wat mogelijke problemen zijn en hoe je ze kunt oplossen. Dit is natuurlijk een manier om security aan te pakken, een andere is door bestaande software te scannen op problemen en dit kan met Chorizo:

You worked hard developing your PHP based web (2.0) application. Now it's time to make it secure.
XSS, SQL injections, cross site request forging (CSRF), code inclusion, remote code execution, information disclosure are your enemies.

<knip>

All you need is a browser and a connection to the Internet. Chorizo! act as a proxy and scans while you surf your sites.

Nu bestaat Chorizo al een tijdje maar ze hebben van de week ook een PHP extensie, Morcilla, uitgebracht waarmee Chorizo ook binnen je applicatie kan kijken om zo nog meer potentiele problemen te vinden. Om een idee te krijgen wat mogelijk is zijn er wat video's van beschikbaar: Chorizo+Morcilla en Chorizo.

Je kunt Chorizo gratis proberen op 1 site, voor andere en/of meerdere sites en ook de Morcilla extensie zul je moeten betalen. Voor degene die denken dat ze daarmee iemand anders z'n site fijn even kunnen scannen op problemen: forget-it, Chorizo vereist je om een identificatie bestand up te loaden naar de betreffende website ;-).