Cuprins
- ADNOTARE 3
- ANNOTATION 4
- INTRODUCERE 5
- CAPITOLUL I. TEHNOLOGII, INSTRUMENTE ȘI LIMBAJE DE PROGRAMARE UTILIZATE ÎN PROGRAMAREA WEB 9
- 1.1. Site-uri și aplicații 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 și server-side a aplicațiilor web 11
- 1.2.1. Programarea client-side 11
- 1.2.2. Programarea server-side 12
- 1.3. Tehnologii și limbaje de programare utilizate în dezvoltarea aplicațiilor 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 relaționale (MySQL) 20
- 1.3.6. Serverul HTTP (Hypertext Transfer Protocol) de tip open source (Apache) 21
- 1.4. Sisteme de management al conținutului (CMS) 22
- 1.5. Framework-uri utilizate la construirea aplicațiilor web 27
- 1.6. Trend-urile în site-urile web 30
- 1.7. Concluzii 32
- CAPITOLUL II. MANAGEMENTUL INTRĂRILOR ȘI ERORILOR ÎN PROGRAMAREA WEB 33
- 2.1. Planificarea intrărilor în interfața utilizator 33
- 2.2. Algoritmi și metode pentru gestiunea și validarea datelor de intrare 35
- 2.2.1. Expresii regulate 35
- 2.2.2. Funcții speciale în PHP care evită injectarea de cod 45
- 2.3. Manipularea erorilor în programarea web 45
- 2.4. Evitarea injectării de cod XSS și SQL 47
- 2.4.1. Evitarea injectării de cod XSS 47
- 2.4.2. Evitarea injectării de cod SQL 50
- 2.5. Concluzii 51
- CAPITOLUL III. STUDIU DE CAZ. DEZVOLTAREA UNEI APLICAȚII WEB ȘI MANAGEMENTUL INTRĂRILOR DE DATE 52
- 3.1. Formularea problemei și a cerințelor față de aplicație 52
- 3.2. Proiectarea arhitecturii, interfeței utilizator, logicii și a datelor aplicației 53
- 3.2.1. Proiectarea arhitecturii aplicației web 53
- 3.2.2. Proiectarea interfeței utilizator, logicii și a datelor aplicației web 55
- 3.3. Planificarea intrărilor și a algoritmilor de control pentru datele de intrare 65
- 3.4. Manipularea erorilor în aplicația web creată 66
- 3.5. Testarea funcționalității, a validărilor datelor și a prelucrării erorilor a aplicației web 67
- 3.6. Concluzii 68
- CONCLUZII GENERALE 70
- BIBLIOGRAFIE 71
Extras din licență
INTRODUCERE
Într-o epocă modernă ca aceasta în care se poate rezolva totul cu ajutorul internetului printr-un simplu ”click” - o singură apăsare a mouse-ului și cumpărarea PC-ul pe care era în dorință sau despre care s-a aflat ultimele știri devine simplă.
Istoria internetului începe cu anul 1968, când guvernul S.U.A. intenționa să interconecteze universitățile, departamentele militare și de apărare ale țării, astfel încât ele să coopereze în cadrul unor proiecte de cercetare comune. Astfel, a fost formată o agenție numită ARPA (eng. Advanced Research Projects Agency). Una din cheile proiectului punea în discuție faptul că, stocarea tuturor informațiilor pe un singur calculator nu ar fi fost deloc sigură, fie din cauză că acestaa ar putea fi țintă vulnerabilă a unui eventual atac, fie pur și simplu din cauză că acestea ar putea fi pierdute în cazul unei defecțiuni tehnice majore. O metodă de a face față unei asemenea situații ar fi fost de a copia și distribui informațiile pe mai multe calculatoare, în întreaga țară, folosind o rețea.
În prezent, internetul se folosește pentru a trimite scrisori electronice pe întregul glob în doar câteva secunde. Se poate căuta informații despre orice subiect se dorește. Expresia WWW ”eng. World Wide Web” definește o colecție de documente care se întinde în câteva sute de milioane de calculatoare.
Începând cu anii ’95, internetul, sub aspectul său cel mai popular, și anume al paginilor web, a cunoscut o amploare greu de imaginat. Dacă la început, paginile web aveau un conținut simplu și oarecum stângace, în zilele de azi aspectul acestora s-a schimbat radical. După doar 21 de ani, în paralel cu evoluția tehnicii de calcul, au evoluat și tehnicile de programare a acestora. Primele pagini permiteau doar navigarea prin conținutul lor, pe când în zilele de față ele au o utilizare foarte largă, de la jocuri și aplicații grafice dinamice la comerț pe Internet.
Web-ul actual a evoluat în direcția proiectării unor site-uri web capabile să-și actualizeze conținutul în mod dinamic, de la oră la oră, care să ofere modalități multiple de interacțiune cu vizitatorul (ex. setarea caracteristicilor paginii în funcție de preferințele utilizatorului, afișarea conținutului în funcție de necesitățile informaționale ale vizitatorului, participarea la discuții în forumuri, exprimarea părerii despre un anumit subiect prin intermediul sondajelor, cumpărarea de produse din magazine virtuale, etc.), asigurând în același timp un grad ridicat de securitate (ex. accesul pe bază de autentificare a utilizatorului prin metode sigure).
Principiul de baz al funcționării internetului constă în faptul că două sau mai multe calculatoare pot comunica între ele. Pentru ca acest lucru să fie posibil este necesar să existe un ”protocol”, adică un ansamblu de norme care trebuie respectate de calculatoare pentru ca schimbul de date să poată avea loc. Normele se referă la:
- găsirea calculatorului destinatar al transferului de date;
- transmiterea efectivă a datelor;
- modalități prin care expeditorul comunică faptul că au fost transmise toate datele, iar destinatarul comunică faptul că le-a recepționat;
- compresia datelor prin aplicarea anumitor algoritmi matematici, datele care urmează să fie expediate sunt prelucrate de așa natură, încât să fie memorate prin utilizarea unui spațiu cât mai mic de memorie. Prin urmare, transmiterea lor durează mai puțin. Invers, la destinație sunt decompresate prin utilizarea acelorași algoritmi matematici;
- identificarea erorilor care pot interveni în transmiterea datelor, iar aici există mai mulți algoritmi care permit identificarea și corectarea erorilor.
Standardul care s-a impus în ceea ce privește internetul, constă în protocolul TCP/IP. Numele este de fapt, numele comun al unei familii de protocoale utilizate pentru transferul datelor în rețea. Orice calculator conectat la internet are o adresă, numită adresă IP (eng. Internet Protocol Address). O adresă IP este alcătuită din 4 numere între 0 și 255, prin urmare o astfel de adresă ocupă 4 octeți. Cum transmiterea datelor la un moment dat se face între două calculatoare, datele se transmit de la o adresă IP la alta.
Noțiunea de site web, sau pur și simplu site, ori ”website” desemnează o grupă de pagini web multimediale care conțin texte, imagini fixe, imagini mișcătoare și chiar sunete, accesibile în internet în principiu oricui, de obicei pe o temă anume, și care sunt conectate între ele prin așa-numite hyperlink-uri. Diversele site-uri web pot fi oferite de către o companie, un proiect, o rețea de utilizatori, o persoană particulară, o administrație publică și multe altele.
Pentru crearea paginilor web a fost impus limbajul HTML (eng. Hyper Text Markup Language) - un limbaj de marcare, al cărui scop constă în prezentarea într-un anumit format a informațiilor: paragrafe, tabele, font-uri, culori, ș.a.m.d.
Calculatorul pe care se găsește site-ul web se numește ”server”, iar calculatoarele care accesează conținutul site-ului web se numesc ”clienți”.
Orice calculator client trebuie să dispună de un program specializat, numit ”browser”, cu ajutorul căruia să se poată interpreta și deci vizualiza fișierele HTML.
Bibliografie
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
Preview document
Conținut arhivă zip
- Validarea datelor de intrare si manipularea erorilor in programarea web.docx