Ce am invatzat lately? Bine, nu pot spune ca “lately”, doar ca acum mi-a venit sa si postez pe un blog kestiile astea.
Pai sa o iau pe rand:
1) JavaScript sux.
Big time. Cu toate ca poti face un site sa arate destul de frumusel cu toate librariile de JS care se gasesc free pe net (si aici amintesc de JQuery, YUI, ProtoType s.a.m.d.), ca sa nu mai vorbesc de verificarile frumoase pe formulare, in care daca nu ai scris ceva intr-un camp required iti arunca in fatza un alert() de toata frumusetea… De ce zic ca asta este un lucru care SUX? Daca folositi browserul FireFox (respekt!), impreuna cu extensia de Web Developer, puteti foarte usor sa dati ‘disable javascript’ si… treceti prin formulare ca prin apa. Sa nu mai vorbesc de faptul ca tot AJAX-ul si toate lucrusoarele frumoase implementate de librariile de care aminteam mai sus se taie din start.
So, sfat: data viitoare cand va apucati sa construiti un website, face-ti-l sa functioneze in totalitate FARA JavaScript. Abia DUPA aia treceti sa-i puneti “floricele” care sa dea bine pe client. Verificari de forms din php. Linkurile sa “duca” unde trebuie, chiar daca dati disable la JS. Si tot asa.
2) SQL Injection
Mai e cineva care sa nu puna macar un mysql_real_escape_string() decent acolo cand e vorba de introdus in baza aia de date”din spate” ceva date care vin dintr-un formular din site? Well, desi ati fi tentati sa raspundeti cu un “NU” mare, din pacate mai exista si asa ceva.
Recent am luat in primire un site mai vechi si ghici ce am gasit prin functiile care preluau informatii de prin formulare si le bagau intr-o baza de date? Pai am gasit niste date de input care erau bagate direct cu “INSERT INTO table (camp) VALUES (‘”.$_POST[‘camp’].”‘)”. Si gata, la o faza de-asta e de-ajuns sa vina un binevoitor sa mai scrie ceva in plus si total neadecvat in campul ala si… aia e 🙂 Aplicatie beton!
Pt moment cam atat. Altceva – in episodul urmator 😀