Securitatea in aplicatiile web
In ultimele zile lucrand atat la un proiect de la munca, cat si la anumite probleme legate de licenta si FifaRomania, ma gandeam la cat de sigure sunt aplicatiile si site-urile pe care le vizitam in fiecare zi.
Diferenta dintre un site si un program, cel putin dupa mine, este destul de mare. In unele cazuri poti lucra la proiecte ce ajung sa fie folosite si vizitate de zeci de mii de useri. Daca e vorba de magazine online, siteuri ce proceseaza si pastreaza date importante despre userii lor, siguranta ar trebui sa vina intotdeauna pe primul loc.
Daca cititi alte bloguri romanesti mult mai cunoscute, probabil ati observat o tendinta a site-urilor de la noi sa aiba anumite lacune cand e vorba despre securitate. De unde vine aceasta problema? Adevarul e ca, de multe ori, programatorilor nu prea le pasa, iar pentru asta sunt 2 motive:
- nu au destula experienta si nu sunt obisnuiti cu proiecte serioase, se multumesc cu faptul ca au reusit sa faca ceva functional
- nu au destul timp, iar asta se intampla de cele mai multe ori cand esti sub presiune si trebuie sa indeplinesti niste deadline-uri imposibile, astfel ajungi sa renunti la unele ce nu se observa atat de usor
In cazul PHP-ului, una din regulile de baza pe care le inveti citind manualul este sa nu ai niciodata incredere in ceea ce iti trimite utilizatorul. Nu vreau aici sa jignesc pe nimeni, dar adevarul este ca de multe ori se intmpla ca o persoana sa faca o eroare neintentionata, eroare la care programatorul nu se asteapta, pentru ca, sa fim sinceri, de multe ori cand lucrezi la o aplicatie si nu ai la dispozitie niste persoane care sa testeze si/sau persoane care sa lucreze la “usability” (scuze, imi scapa cuvantul ) vei ajunge sa construiesti ceva extrem de simplu de folosit pentru tine, dar foarte complicat de folosit pentru o persoana neinitiata.
Cel mai simplu este sa incepi cu lucrurile de baza, iar documentatia oficiala a limbajului/tehnologiei pe care o folosesti e punctul cel mai bun de plecare. Intotdeauna de acolo vei putea invata si vei gasi informatii reale si pe care te vei putea baza.
Voi reveni in urmatoarele zile cu exemple mai concrete.