ADNOTARE 3 ANNOTATION 4 INTRODUCERE 5 CAPITOLUL I. TEHNOLOGII, INSTRUMENTE SI LIMBAJE DE PROGRAMARE UTILIZATE IN PROGRAMAREA WEB 9 1.1. Site-uri si aplicatii web 9 1.1.1. Site web static 9 1.1.2. Site web dinamic 9 1.1.3. Design responsive 10 1.2. Programarea client-side si server-side a aplicatiilor web 11 1.2.1. Programarea client-side 11 1.2.2. Programarea server-side 12 1.3. Tehnologii si limbaje de programare utilizate in dezvoltarea aplicatiilor web 13 1.3.1. Limbajul de marcare HTML (Hyper Text Markup Language) 15 1.3.2. Standardul CSS (Cascading Style Sheets) 17 1.3.3. Limbajul de programare orientat obiect JS (JavaScript) 18 1.3.4. Limbajul de programare PHP (Hypertext Preprocessor) 19 1.3.5. Sistemul de gestiune a bazelor de date relationale (MySQL) 20 1.3.6. Serverul HTTP (Hypertext Transfer Protocol) de tip open source (Apache) 21 1.4. Sisteme de management al continutului (CMS) 22 1.5. Framework-uri utilizate la construirea aplicatiilor web 27 1.6. Trend-urile in site-urile web 30 1.7. Concluzii 32 CAPITOLUL II. MANAGEMENTUL INTRARILOR SI ERORILOR IN PROGRAMAREA WEB 33 2.1. Planificarea intrarilor in interfata utilizator 33 2.2. Algoritmi si metode pentru gestiunea si validarea datelor de intrare 35 2.2.1. Expresii regulate 35 2.2.2. Functii speciale in PHP care evita injectarea de cod 45 2.3. Manipularea erorilor in programarea web 45 2.4. Evitarea injectarii de cod XSS si SQL 47 2.4.1. Evitarea injectarii de cod XSS 47 2.4.2. Evitarea injectarii de cod SQL 50 2.5. Concluzii 51 CAPITOLUL III. STUDIU DE CAZ. DEZVOLTAREA UNEI APLICATII WEB SI MANAGEMENTUL INTRARILOR DE DATE 52 3.1. Formularea problemei si a cerintelor fata de aplicatie 52 3.2. Proiectarea arhitecturii, interfetei utilizator, logicii si a datelor aplicatiei 53 3.2.1. Proiectarea arhitecturii aplicatiei web 53 3.2.2. Proiectarea interfetei utilizator, logicii si a datelor aplicatiei web 55 3.3. Planificarea intrarilor si a algoritmilor de control pentru datele de intrare 65 3.4. Manipularea erorilor in aplicatia web creata 66 3.5. Testarea functionalitatii, a validarilor datelor si a prelucrarii erorilor a aplicatiei web 67 3.6. Concluzii 68 CONCLUZII GENERALE 70 BIBLIOGRAFIE 71
INTRODUCERE Intr-o epoca moderna ca aceasta in care se poate rezolva totul cu ajutorul internetului printr-un simplu "click" - o singura apasare a mouse-ului si cumpararea PC-ul pe care era in dorinta sau despre care s-a aflat ultimele stiri devine simpla. Istoria internetului incepe cu anul 1968, cand guvernul S.U.A. intentiona sa interconecteze universitatile, departamentele militare si de aparare ale tarii, astfel incat ele sa coopereze in cadrul unor proiecte de cercetare comune. Astfel, a fost formata o agentie numita ARPA (eng. Advanced Research Projects Agency). Una din cheile proiectului punea in discutie faptul ca, stocarea tuturor informatiilor pe un singur calculator nu ar fi fost deloc sigura, fie din cauza ca acestaa ar putea fi tinta vulnerabila a unui eventual atac, fie pur si simplu din cauza ca acestea ar putea fi pierdute in cazul unei defectiuni tehnice majore. O metoda de a face fata unei asemenea situatii ar fi fost de a copia si distribui informatiile pe mai multe calculatoare, in intreaga tara, folosind o retea. In prezent, internetul se foloseste pentru a trimite scrisori electronice pe intregul glob in doar cateva secunde. Se poate cauta informatii despre orice subiect se doreste. Expresia WWW "eng. World Wide Web" defineste o colectie de documente care se intinde in cateva sute de milioane de calculatoare. Incepand cu anii '95, internetul, sub aspectul sau cel mai popular, si anume al paginilor web, a cunoscut o amploare greu de imaginat. Daca la inceput, paginile web aveau un continut simplu si oarecum stangace, in zilele de azi aspectul acestora s-a schimbat radical. Dupa doar 21 de ani, in paralel cu evolutia tehnicii de calcul, au evoluat si tehnicile de programare a acestora. Primele pagini permiteau doar navigarea prin continutul lor, pe cand in zilele de fata ele au o utilizare foarte larga, de la jocuri si aplicatii grafice dinamice la comert pe Internet. Web-ul actual a evoluat in directia proiectarii unor site-uri web capabile sa-si actualizeze continutul in mod dinamic, de la ora la ora, care sa ofere modalitati multiple de interactiune cu vizitatorul (ex. setarea caracteristicilor paginii in functie de preferintele utilizatorului, afisarea continutului in functie de necesitatile informationale ale vizitatorului, participarea la discutii in forumuri, exprimarea parerii despre un anumit subiect prin intermediul sondajelor, cumpararea de produse din magazine virtuale, etc.), asigurand in acelasi timp un grad ridicat de securitate (ex. accesul pe baza de autentificare a utilizatorului prin metode sigure). Principiul de baz al functionarii internetului consta in faptul ca doua sau mai multe calculatoare pot comunica intre ele. Pentru ca acest lucru sa fie posibil este necesar sa existe un "protocol", adica un ansamblu de norme care trebuie respectate de calculatoare pentru ca schimbul de date sa poata avea loc. Normele se refera la: - gasirea calculatorului destinatar al transferului de date; - transmiterea efectiva a datelor; - modalitati prin care expeditorul comunica faptul ca au fost transmise toate datele, iar destinatarul comunica faptul ca le-a receptionat; - compresia datelor prin aplicarea anumitor algoritmi matematici, datele care urmeaza sa fie expediate sunt prelucrate de asa natura, incat sa fie memorate prin utilizarea unui spatiu cat mai mic de memorie. Prin urmare, transmiterea lor dureaza mai putin. Invers, la destinatie sunt decompresate prin utilizarea acelorasi algoritmi matematici; - identificarea erorilor care pot interveni in transmiterea datelor, iar aici exista mai multi algoritmi care permit identificarea si corectarea erorilor. Standardul care s-a impus in ceea ce priveste internetul, consta in protocolul TCP/IP. Numele este de fapt, numele comun al unei familii de protocoale utilizate pentru transferul datelor in retea. Orice calculator conectat la internet are o adresa, numita adresa IP (eng. Internet Protocol Address). O adresa IP este alcatuita din 4 numere intre 0 si 255, prin urmare o astfel de adresa ocupa 4 octeti. Cum transmiterea datelor la un moment dat se face intre doua calculatoare, datele se transmit de la o adresa IP la alta. Notiunea de site web, sau pur si simplu site, ori "website" desemneaza o grupa de pagini web multimediale care contin texte, imagini fixe, imagini miscatoare si chiar sunete, accesibile in internet in principiu oricui, de obicei pe o tema anume, si care sunt conectate intre ele prin asa-numite hyperlink-uri. Diversele site-uri web pot fi oferite de catre o companie, un proiect, o retea de utilizatori, o persoana particulara, o administratie publica si multe altele. Pentru crearea paginilor web a fost impus limbajul HTML (eng. Hyper Text Markup Language) - un limbaj de marcare, al carui scop consta in prezentarea intr-un anumit format a informatiilor: paragrafe, tabele, font-uri, culori, s.a.m.d. Calculatorul pe care se gaseste site-ul web se numeste "server", iar calculatoarele care acceseaza continutul site-ului web se numesc "clienti". Orice calculator client trebuie sa dispuna de un program specializat, numit "browser", cu ajutorul caruia sa se poata interpreta si deci vizualiza fisierele HTML.
1. http://dow-media.ro/care-este-diferenta-dintre-un-site-static-si-unul-dinamic/, accesat: 06.02.2016 2. http://webblog.bestwebimage.ro/2014/03/ce-inseamna-design-responsive/, accesat: 25.04.2016 3. http://www.gwp.ro/ro_services_programming.php, accesat: 25.04.2016 4. http://www.runceanu.ro/adrian/wp-content/cursuri/tw2013/C1-Web.pdf, accesat: 26.04.2016 5. https://www.scribd.com/doc/239033311/Limbajul-HTML, accesat: 26.04.2016 6. https://www.scribd.com/doc/269474444/Limbajul-HTML, accesat: 26.04.2016 7. https://www.scribd.com/doc/136951521/HTML5, accesat: 26.04.2016 8. http://www.aut.upt.ro/~andreea.robu/Lab1_PAI.pdf, accesat: 26.04.2016 9. https://ro.wikipedia.org/wiki/JavaScript, accesat: 26.04.2016 10. http://www.marplo.net/php-mysql/introducere.html, accesat: 26.04.2016 11. https://ro.wikipedia.org/wiki/MySQL, accesat: 26.04.2016 12. http://www.scritub.com/stiinta/informatica/Apache-HTTP-Server1513112018.php, accesat: 26.04.2016 13. https://www.scribd.com/doc/267665939/Managementul-continutului, accesat: 26.04.2016 14. https://www.scribd.com/doc/311578308/PostolacheD-Interfete-Pentru-Aplicatii-Webdoc, accesat: 26.04.2016 15. https://en.wikipedia.org/wiki/Modernizr, accesat: 26.04.2016 16. http://www.todaysoftmag.ro/article/258/twitter-bootstrap-in-aplicatii-web, accesat: 26.04.2016 17. https://nevo.ro/blog/categorii/jQuery/, accesat: 26.04.2016 18. http://www.creativebloq.com/javascript/essential-javascript-top-five-script-loaders-8122862, accesat: 26.04.2016 19. http://www.startupcafe.ro/stiri-marketing-20704551-infografic-cum-trebui-arate-site-tau-2016-opt-tendinte-pentru-noul.htm, accesat: 26.04.2016 20. http://www.asecib.ase.ro/Paun/cap5-ads-intern.PDF, accesat: 26.04.2016 21. https://www.cert-ro.eu/files/doc/578_20120226130257069249700_X.pdf, accesat: 26.04.2016 22. http://web.info.uvt.ro/~dragan/LfTc.pdf, accesat: 26.04.2016 23. http://ace.upg-ploiesti.ro/cursuri/so/laborator/lab05.html, accesat: 26.04.2016 24. http://www.arta-web.ro/javascript/javascript-expresii-regulate/, accesat: 26.04.2016 25. http://www.regex.ro/regex-in-javasscript/, accesat: 26.04.2016 26. https://ro.wikipedia.org/wiki/Expresii_regulate_%C3%AEn_limbajul_PHP, accesat: 26.04.2016 27. http://www.marplo.net/php-mysql/expresii_regulate_ereg.html, accesat: 26.04.2016 28. http://www.marplo.net/php-mysql/functii_siruri.html, accesat: 26.04.2016 29. https://www.cert-ro.eu/files/doc/578_20120226130257069249700_X.pdf, accesat: 26.04.2016 30. http://www.worldit.info/articole/securitatea-aplicatiilor-web-a-cele-mai-intalnite-vulnerabilitatiatacuri-si-metode-de-aparare-impotriva-lor/, accesat: 26.04.2016 31. https://www.cert-ro.eu/files/doc/578_20120226130257069249700_X.pdf, accesat: 26.04.2016 32. https://www.cert-ro.eu/files/doc/578_20120226130257069249700_X.pdf, accesat: 26.04.2016
Plătește în siguranță cu cardul și beneficiezi de garanția 200% din partea Diploma.ro.
Simplu și rapid în doar 2 pași: completezi datele tale și plătești.