Sunteți pe pagina 1din 74
1.Ce este 0 baz de date distribuiti O baza de date distribuita reprezinta o colectie de date integrate logic, ins repartizate2 fizic pe siturile3 unei refele de calculatoare .Asadar, 0 baz de date distribuita e un ansamblu de baze de date administrate de diferite situri, dar care apar pentru utilizator ca o baz unic 2. Care sunt elementele care caracterizeazit sistemele distribuite si la care fac referire in general definitiile? Integrarea logicd. Se refer’ la aspectul cd datele inmagazinate nu sunt simple colectii de figiere. Ele reprezinté o structura bine organizata pe care utilizatorul potrivit unor principii ce vor fi enuntate ulterior — trebuie s-o perceapa ca facdnd parte dintr-o singura baza de date globalA, la fel ca si in cazul bazelor de date locale sau centralizate; Repartizarea fizicd. Releva faptul ca baza de date nu este stocata intr-o singura locatie, precum in cazul bazelor de date locale si sistemelor centralizate, ci este ‘impartita intre mai multe statii de lucru. 3. Ce este un SGBDD? Un sistem de gestiune al bazelor de date distribuite reprezintd sistemul software care permite gestiunea bazelor de date distribuite, ficdnd distribuirea fizica transparent pentru utilizatori, Sistemele de Gestiune a Bazelor de Date Distribuite (SGBDD4) au ca obiectiv crearea unei ,punfi” intre ,,insulele de informatii”. Idea unui astfel de sistem este de a face accesibile toate datele necesare functionarii unei organizatii, oriunde s-ar afla ele, si de a le raspandi fizic, dacd este cazul, in acele locaii unde vor fi utilizate cel mai des. 4. Ce se infelege prin fragmentarea bazelor de date si de cAte tipuri este aceasta? Fragmentarea reprezinta procedeul de spargere a relatiilor utilizate intrun sistem distribuit prin operatiuni relationale de proiectie si selectie controlate, in vederea plasarii asa-numitelor partitii (fragmente) rezultate in locul in care sunt cel mai frecvent solicitate datele pe care le contin. Fragmentarea (partitionarea) poate fi de mai multe tipuri: orizontald, verticala si mixta. Pe \anga aceste tipuri clasice, uneori situatia impune necesitatea unor fragmentiri derivate sau chiar a unor relatii nefragmentate, 5. Care sunt argumentele in favoarea fragmentarii? Uzana; Eficienta; Paralelismul.; Securitatea.; 6. Ce reguli stau la baza fragmentirii? Completitudinea fragmentarii.; Refacerea relatiei initiale; Caracterul disjunct 7. Descrieti fragmentarea orizontala. Exemplificati, Fragmentarea orizontalé, dupa cum sugereazi numele, se face de-a lungul tuplelor unei relatii, Asadar, un fragment orizontal, este format dintr-o submultime a tuplurilor unei relafii, submulfime obfinuta in urma unei operafii de restrictie. Restrictia trebuie si asigure 0 descompunere ortogonald in fragmente orizontale.Reprezentarea simbolic’ a unui fragment orizontal F, realizat pe baza unei relajii R, prin specificarea modalitatii de obtinere, este urmatoarea: Fiz op(R), unde Fi reprezinta numele fragmentului, p fiind ,un predicat bazat pe unul sau mai multe atribute ale relatiei” iar R reprezinté denumirea relatiei.6 este simbolul operatic’ de restrictie (selectie). CJ_STUD: —sLocatia *Cluj- Napoca”(STUDENT) = Fragmentul CJ_STUD pentru studentii inscrisi_ la FSEGA Cluj-Napoca si urmeaz cursurile in Cluj-Napoca 8. Ce sunt predicatele minterm? Predicatele pe baza cirora se abordeazi problematica fragmentarii orizontale sunt predicatele minterm. Ele sunt conjunefii de predicate simple sau negatii ale acestora. Predicatele simple sunt de forma pi: Aj teta , i=l, 2, ... .n, iar AL, ..,Am reprezinta atributele relatici, iar teta ia una din valorile {=, <>, 9. Descrieti fragmentarea vertical. Exemplificati, Fragmentarea vertical reprezinta o descompunere de-a lungul atributelor unei relafii, Realizarea acesteia presupune operatii de proiectie asupra atributelor, prin includerea in cazul fiecarui fragment a unei chei alternative a rela Scopul includerii acesteia este obfinerea unei descompuneri firi pierderi Simbolistica reprezentirii unui fragment vertical Fi obtinut prin proiectia atributelor al, a2, .... an ale unei relatii R este urmatoarea: Fi: Hal, a2, ,an(R), unde simbolul II reprezinta insemnul proiectiei din algebra relationald. Relatiei LOCALITATI(CodLoe, Loe, CodJud. L_LOC: IICodLoe, Loc(LOCALITATI. in ambele fragmente a trebuit s4 includem cheia primard a relatiei LOCALITATI 10, Descrieti fragmentarea mixta, Exemplificati. Fragmentarea mixta — numita si hibrida de catre unii autori — nu reprezinta un tip special de fragmentare, ci o combinatie a celorlalte doua enuntate anterior. Combinatia se datoreazi aplicdrii celor doi operatori din algebra relational utilizafi pentru fragmentarea pe orizontald si pentru cea pe verticala. in functie de ordinea in care sunt aplicati, putem si avem doua tipuri de fragmentari mixte. Dacd mai intai avem o operatie de selectic, urmat apoi pentru ficcare fragment, de operatii de proiectie obtinem fragmente orizontale partitionate vertical. Daca >=}:pl: CodSectie = 1 ordinea operatiilor este inversatd, atunci vom avea fragmente verticale partitionate orizontal. Fi: Hal, a2, ... an(op(R)) sau Fj: op(Mlal, a2, ... an(R)) 11, Ce este fragmentarea derivata Fragmentarea derivata este o fragmentare orizontala care se face intre doui relafii: una parinte si cealalta fiu, Se va porni de la relafia copil, care va fi fragmentati conform predicatului prestabilit, Predicatul implica in mod obligatoriu cheia externa 12. CAind se utilizeaz relatiile nefragmentate? Relatiile care se preteazi la o astfel de abordare sunt acelea care au un numar relativ mic de inregistrari. in astfel de situafii se recomanda fie replicarea acestora pe fiecare sit in parte, fie menfinerea lor in acele noduri unde se utilizeaza cel mai des 13. Ce este replicarea? Replicarea — cunoscuta in literatura de specialitate si ca reproducere ~ presupune copierea unor fragmente in mai multe locafii 14. Care sunt nivelele de replicare pe care le cunoasteti? Baze de date centralizate. Sunt sistemele cu prelucrare distribuita (centralizate), in care avem o singurd baz de date stocatd pe nodul central, La fel avem un singur SGBD. Caracterul local al referinfei este cel mai sedzut, deoarece doar nodul central poate face accesiri sau prelucrari locale. Securitatea, fiabilitatea si disponibilitatea sunt scazute si depind in cea mai mare masura de nodul central. Costul comunicatiei este ridicat; Baze de date partifionate, fragmentate sau nereplicate, Sunt acele baze de date distribuite in care toate fragmentele apar o singuri data. Implementarea se face cu cel mai scdzut cost al stocarii, O astfel de baz de date nu ofera fiabilitate gi nici disponibilitate prea ridicate, insd este mai mare decdt in cazul sistemelor centralizate. Caracterul local al referingei este la un nivel acceptabil. Costurile de comunicatie sunt mai moderate. Actualizarile si consultarile se fac eficient; Baze de date replicate integral. Orice sit conine cate 0 copie a intregii baze de date, Caracterul local al referintei, disponibilitatea, securitatea si fiabilitatea sunt maxime.Probleme intémpiném la costul ridicat al echipamentelor de stocare, comunicatia aglomerata in cazul actualizarilor, O rezolvare parfiala a acestor inconveniente ar fi utilizarea instantaneelor, adicd imagini ale bazei de date care ctualizeaza periodic. Dezavantajul lor este c nu intotdeauna oferi o situatie actualizata, iar in momentul actualizarii se genereazd trafic mare pe refea,; Baze de date replicate partial sau sclectiv. Anumite fragmente sunt replicate, altele nu. Sunt replicate fie acele fragmente cu utilizare frecventd, fie relatii intregi de dimensi mici care nu merit sa fie fragmentate, ci mai degraba memorate pe fiecare sit. in aceasta ultima situafie intra gi acele relafii sau fragmente cu actualiziri sporadice. Aceasta strategie este o imbinare a celor 3 enunfate anterior. incearca si le preia avantajele si si le minimizeze dezavantajele. Di aceasta se implementeaz cel mai adesea. Costurile de comunicatie si de stocare sunt relativ reduse. Caracterul local al referinfei, securitatea, fiabilitatea si disponibilitatea sunt apropiate de maxim. 15. Ce este alocarea si ce metode de alocare cunoasteti? Alocarea reprezinti procesul de repartizare a fragmentelor pe situri. Alocarea poate si fie neredundanta sau redundanta, Realizarea unei astfel de proiectari se bazeaz pe metoda celei mai bune alegeri, care stipuleaz ci unei stati pe care deja a fost plasat un fragment, nu poate sé-i mai fie alocat un fragment winrudit”, Alocarea redundanti este o problema de proiectare mult mai complex: Metoda selectirii., Metoda alocdrii progresive. 16. Desena{i si deserieti arhitectura de referin{i a sistemelor distribuite. Arhitectura este formatd din: 5 schemele externe globale, care reprezinta viziunea fiecdrui utilizator asupra sistemului; Sisteme de baze de date distribuite 5 o schema conceptuala global, adicd o imagine completa a intregii baze de date, fara a las macar pentru vreun moment impresia cA aceasta ar putea fi una distribuita; 5 schema de fragmentare, ce reprezinta ideea proiectantului de partitionare a intregii baze de date; 5 schema de alocare sc refera la modul de amplasare fizicd a fragmentelor si replicilor acestora in vederea deservi distribuit; 17, Enumerati principiile lui Date referitoare la sistemele distribuite. autonomia locali, absenta unei dependente de un sit central, operarea continui, independenta de fragmentarel1, independenta de localizare, independenta de replicare, prelucrarea distribuiti a interogirilor, gestionarea distribuiti a tranzactiilor, independenta de hardware, independen{a de sistemul de operare, independenta de refea si independenta de sistemul SGBD. 18. Care sunt etapele de procesare a cererilor intr-un sistem distribuit? optime a interogarilor si tranzactiilor sistemului Descompunerea interogirilor, Localizarea datelor, Optimizarea cererilor globale si Optimizarea cererilor locale. 19. Dati exemple de protocoale de gestiune a accesului concurent intr-un mediu distribuit. Protocolul 2PL centralizat, Protocolul 2PL de copie primara, Protocolul 2PL distribuit gi Protocolul de zAvorare a majoritatii 20. Care sunt avantajele si dezavantajele sistemelor distribuite? 5 Structura organizationala 5 Caracterul partajabil si autonomia locala 5 Disponibilitate si fiabilitate crescute 5 Performante imbunatatite 3 Dezvoltare modulara 3 Economie. 3 Complexitatea 5 Lipsa de standarde 5 Securitatea 5 Dificultatea controlului integritatii 5 Lipsa de experienta 5 Dificultatea de inlocuire sau schimbare. 21. Ce este un sistem de baze de date federative? Dati exemple de situatii la care acestea se preteaza. Sistemele de baze de date multiple reprezinta un sistem de baze de date distribuite in care fiecare sit pastreaza 0 autonomie total, Un sistem de baze de date federative (FMDBS12) este 0 colectie de sisteme de baze de date colaborative care sunt autonome si posibil heterogene. 22, Ce sunt sistemele nefederative? Putem sd avem sisteme de baze de date multiple in care nu avem utilizatori locali. 23. Care sunt caracteristicile sistemelor federative? Autonomia.; Heterogenitatea.; Distribuirea.; 24, Ce este wrapper-ul? wrapper-ul, uneori fiind cunoscut si cu denumirea de mediator. Wrapper-ele sunt niste adaptoare, niste straturi software intermediare ce transparentizeaza diferitele nivele ale heterogenitafii 25. Ce este heterogenitatea semantic&? Exemplificati. Heterogenitatea semantica se refera la numele obiectelor, valorile pe care pot le ia datele si structura conceptual. Un exemplu, ce-i drept putin utopic, care ar putea si dezvaluic © parte din problemele heterogenititii semantice, ar fi interconectarea sistemelor educationale nationale intr-o federatie internationala. concurentei 26. Ce sunt depozitele de date? Depozitele de date (DW16) sunt colectii de date nevolatile, orientate spre subiect, integrate, variabile in timp care sprijind managementul firmei in procedeul de luarea deciziilor. 27. Ce reprezinti pietele de date? Piefele de date (DM18) sunt submultimi ale depozitelor de date, particularizate in vederea indeplinirii nevoilor unui departament sau care acopera un subiect. 28. Ce operafiuni presupune inmagazinarea datelor? 29, Ce este OLAP? Prelucrarea analiticd on-line reprezint& sinteza, analiza si consolidarea dinamica a unor volume vaste de date multidimensionale. 30. Ce sunt cuburile de date? 31. Ce este datamining-ul? Extragerea datelor reprezinta descoperirea automata a unor tipare netriviale, anterior necunoscute si potential folositoare, bine inridicinate in bazele de date 32. in ce domenii se poate aplica mineritul datelor? Comertul cu aminuntul/marketing; Domeniul bancar; Asigurari; Medicina 33. Care sunt principalele operafii de extragere a datelor? Modelarea predictiva, Segmentarea bazei de date, Analiza legiturilor si Detectarea deviatiilor. 36. Mentionati pe scurt tipurile de baze de date NoSQL. La ora actual exist urmitoarele categorii de baze de date NoSQL: E Key-/Value-stores — cel mai simplu model pentru date nestructurate. Foarte eficient gi flexibil. Dezavantaj: datele nu contin descrierea lor € Document databases — pentru depozite XML si obiecte care se autodescriu. Stocarea in acest caz este foarte ineficienta. in aceasta categorie intélnim subtipurile urmatoare: —Baze de date relationale cu facilitati XML: CLOB, XML impartit in mai multe tabele in functie de schema; SGBDR-uri care accept tipul ISO XML_ (Ex. IBM DB2, Microsoft SQL Server, Access, Oracle Database, PostgreSQL) ~ Baze de date XML native. & Column-Oriented Databases (Baze de date pe coloane) ~ model foarte bun folosit in cadrul depozitelor de date pentru date rarefiate, Putem avea coloane grupate si agregate. & Graf [Oracle 2012] — un model relativ nou, bun pentru parcurgerea relatiilor, dar nu pentru cdutiri generale. SISTEME DE OPERARE 1, Care sunt functiile de baz ale Sistemelor de operare? Sistemele de operare realizeaz doud functii de baza intre care nu exist’ nici © legiturd: extinderea functionalitétii masinii si gestionarea resursclor,ccea ce nu putem spune este care din aceste functii este mai important. Prin functia de extindere ascunde detalii neplicute precum: intreruperile, timer-cle, gestiunea memoriei gi alte elemente de nivel scdzut. Tot functia de extindere ascunde programatorului ,adevarul” despre struetura hard si prezinté numai partea frumoasé a figierelor cu nume nu gi cu octeti si reprezinté o vedere de sus in jos aSo. in abordarea de jos in sus este prezenta functia de gestionare a resurselor care are ca sarcina si realizeze 0 alocare ordonata gi controlata a proceselor, memoriilor si dispozitivelor de I/O in diversele programe scrise pentru ele Administrarea resurselor include partajarea resurselor in timp gi spatiu (multiplexarea). Cand este in timpprogramele sau utilizatorii le folosese pe rand resursele (exemplu: tiparirea) formandu-se 0 coada SO este acela care spune cine urmeazi si cat timp are alocat. Cand este in spatiu ficcare client foloseste parte din resursa (exemplu: memoria prineipala este impartita intre mai multe programe, sau HDD este o alta resursa multiplexata in spatiu. 2. Ce este un proces? Procesul - este in fapt un program in executie. Fiecdrui proces i se asociazi un spatiu de adrese, adicd 0 list de locatii in memorie din care programul poate cati sau in care poate serie. Locatiile cuprinse intre dous limite, una minima (de obicei 0) si una maxima. Spatiul de adrese confine programul executabil, datele programului si stiva, Procesului i se asociaza, de asemenea, un set de registre care cuprinde contorul program, indicatorul de stiva si alte registre hard, precum si diverse alte informafii necesare rulirii programului [TANENBAUMO06] La multe SO toate informatiile despre fiecare proces, altele decdt cele aflate in propriul spatiu de adrese, sunt memorate intr-un tabel al sistemului de operare numit tabel de procese, care este un tablou de structuri pentru fiecare proces existent. Un proces este cd o grupare de resurse inrudite gi are spatiu de adrese ce confine textul programului si date, precum gi alte resurse. Aceste resurse pot include fisiere deschise, procese copil, semnale de alarma in asteptare, rutine de tratare a semnalelor, informatii de contabilizare si altele. Acestea pot fi gestionate usor prin gruparea lor sub forma de proces. 3. Ce este un fir de exeutie? Firele de executie in sistemele de operare traditionale, fiecare proces are un spatiu de adrese si un singur fir de control. Dar de cele mai multe ori este de dorit existenfa mai multor fire de control in acelasi spatiu de adrese ruland pseudo-paralel, cA si cum ar fi procese separate(cu exceptia partajarii spatiului de adrese). Firul de executie (thread) are un contor de program care fine evidenta urmatoarei instructiuni de executat, totodata define si registre care in variabilele curente de Iucru, Are de asemenea o stiva care confine istoricul execufiei, cu un cadru pentru fiecare procedura apelat din care nu s-a revenit inca. Desi un fir de executie trebuie si ruleze intrun proces,firul si procesul sunt concepte diferite si pot fi tratate separat. Procesele sunt utilizate pentru a grup resurse, in timp ce firele de executie sunt entitii planificate pentru executie in cadrul UCP (unitate entrali de procesare). Modul de lucru al firelor de executie este: partajeaz spatiul de adrese, fisiere deschise si ale resurse sau partajeazi memoria fizicd , discurile, imprimantele gi alte resurse. Prin comutarea intre mai multe procese, sistemul ofera iluzia unor procese secventiale separate care se executa in paralel. Programarea cu fire de executie multiple funcfioneaza in acelasi mod: UCP comuti rapid intre firele de executie oferind iluzia ca acestea ruleaza in paralel, desi pe o UCP mai lenta decat pe cea reali. in cazul unui proces cu trei fire de executie, toate efectuind calcule, stea par si se execute in paralel, fiecare pe o UCP cu o viteza de trei ori mai mica decat a UCP reale. 4. Care sunt diferentele intre sistemul de fisiere FAT32 vs NTFS? NTFS (New Technology File System) este sistemul de fisiere standard pentru Windows NT si predecesoarele sale Windows 2000 si Windows XP; capacitatea de a recupera automat dupa anumite erori legate de disc, cea ce FAT32 nu poate realiza. Suport imbunatatit pentru hard disk-uri mai mari, Are uritate mai bund, deoarece aveti posibilitatea si utilizati permisiuni si criptare pentru a restrictiona accesul la anumite fisiere numai la utilizatorii autorizati. Acest sistem de figiere foloseste adrese de dise de 64 de biti si poate suporta partitii de pind la 264 bytes, totodati oferd posibilitatea folosirii caracterelor Unicode in numele de figiere, permite folosirea numelor de fisiere de pana la 255 de caractere, inclusiv spatii si puncte; permite indexare general a fisierelor; ofera posibilitatea managementului dinamic al sectoarelor, datorita compatibilititii POSIX, permite crearea hard-link-uri, face distinctie intre litere mari si mici in cadrul numelor de figiere si pastreazd informafii de timp referitoare la figier; permite utilizarea fisierelor cu seturi multiple de date. FAT32 - utilizeaza spatiul mai eficient, FAT32 utilizeaza clustere mai mici (adic clustere de 4 KO pentru unitati de pind la 8 GO), avand ca rezultat 0 utilizare a spatiului de dise cu 10-15 la suté mai eficienta fata de unitaile mari FAT sau FATI6, este mai robust, poate relocaliza folderul radacina si poate utiliza copia de rezerva a tabelului de alocare a fisierelor in locul copiei implicite. in plus, inregistrarea de incdrcare a unitatilor FAT32 este extinsd pentru a include o copie de rezerva a structurilor de date critice, sunt mai putin predispuse la un singur punct de eroare decat unitatile FAT16, este mai flexibil. Folderul radacina de pe o unitate FAT32 este un lant obignuit de clustere, astfel {incat poate fi plasat oriunde pe unitate. Limitarile anterioare in ceea ce priveste numirul de intrari in folderul radacina nu mai exista. in plus, se poate dezactiva oglindirea tabelului de alocare de fisiere, permitind sd fie activa o altd copie a tabelului de alocare a fisierelor in loc de prima copie. Aceste caracteristici permit redimensionarea dinamicd a partijiilor FAT32. 5. Cfte tipuri de memorie exist? Memoria ocupa locul doi ca important in structura unui sistem de procesor gi este de tip ierarhic si este caracterizata astfel: -putind memorie cache foarte rapid, scumpa si volatila -mult RAM3 de vitezi medie, nu foarte scumpé si volatila -foarte mult spafiu de stocare pe disc lent, ieffin si nevolatil. Sistemele de gestiune a memoriei pot fi impartite in doud categorii: cele care mut procesele intre memorie si disc in timpul exccutiei acestora (interschimbare — swapping si paginare) si cele care nu fac aceste operat. Trebuie sd infelegem ca interschimbarea si paginarea sunt in mare parte metode ce compenseaza lipsa unei memorii principale suficient de mare incat si poati confine toate programele ce ruleaza la un moment dat. 6. Ce este memoria interna? 7. CAte tipuri de RAID sunt si care anume? RAID combina hard discuri fizice intr-o singuri unitate logic’ folosind o componenti hardware sau o aplicatie software. Solutiile hardware sunt proicctate eu scopul de a se prezenta sistemului atagat ca un singur hard disc, fara ca sistemul de operare si cunoascé arhitectura fizica. Solutiile software sunt implementate in sistemul de operare, dar aplicatiile vor utiliza arhitectura RAID ca o singura unitate. Sunt trei tipuri principale in RAID: mirroring (oglindirea), copierea datelor pe mai multe discuri; striping (intretesute), impartirea datelor pe mai multe discuri; si error correetion (cu corectarea erorilor) unde discuri de verificare redundante jocheaza datele pentru a fi detectate si corectate eventualele erori. Diferitele niveluri RAID folosesc unul sau mai multe dintre tipurile enumerate mai sus, in functie de cerinjele sistemului. Scopul principal in folosirea arhitecturii RAID este mérirea sigurantei datelor, important pentru protejarea informatiilor critice pentru afaceri, de exemplu o bazd de date a comenzilor date de clienti; sau a maririi vitezei, de exemplu un sistem care transmite programe TV la cerere” mai multor telespectatori. RAID 0 * cea mai performanta metoda de stocare * RAID; © se insumeazii capacititile discurilor. © Avantajul este dat de distributia operatiilor de scriere/citire pe mai multe discuri, simultan; © performanta crecuta a matricii; * lipsa redundanfei, defectarea oricdruidise ducénd la compromiterea intregii matrice. RAID 1 * este oglindirea dispozitivelor + (mirroring); * daca se folosese dou’ discuri in RAID1 informatia va fi stocata pe ambele, in oglinda; RAID3 oricare din ele poate ceda, fara si © afecteze integritatea matricei; + Performanta este afee © spatiul de stocare este de jumitate; © numir par de discuri RAIDS ‘© redundanta de nivel N+1; * viabil de la mai mult de 3 discuri/partitii intr-o matrice; * scrierea informatiilor de paritate se face pe toate discurile, + pentru un numar mare de discuri este cea mai eficienta metod’; * capacitate de stocare este data de (capacitatea unui disc)*(numarul de discuri -1). i, deoarece scrierea/citirea se face simultan; RAID 6,RAID 10, RAID 50,RAID 60 8. Definiti RAID 1. RAID1I * este oglindirea dispozitivelor * (mirroring); * daca se folosese dou’ discuri in RAID1 informatia va fi stocata pe ambele, in oglinda; 9. Definiti RAID 5. RAID 5 * redundanta de nivel N+1; * viabil de la mai mult de 3 discuri/partitii int-o matrice; ‘© scrierea informatiilor de paritate se face pe toate discurile, © pentru un numar mare de discuri este cca mai eficient’ metoda; * capacitate de stocare este data de (capacitatea unui disc)*(numarul de discuri -1). 10. Care sunt tipurile de atacuri? 1.Atacuri DOS O alta clasificare a atacurilor DOS este dupa numarul de participanti -Atacuri uni-sursa: un singur atacator are ca tint o singura victima. -Atacuri multi-sursa: mai multe gazde (numite zombie”) participa fara s& stie in rolul atacatorilor, fiind compromise de capul operatiunii. Desi mai greu de pus in practica, acest tip de atac este si cel mai periculos si cel mai greu de luptat impotriva lui. Mai este cunoscut si sub numele de atac Distributed Denial of Service (DDOS). 2.Atacuri asupra protocoalelor de autentificare Atacuri prin inundare (flooding) Atacurile prin inundare sunt comune si sunt lansate cu intentia de a satura legaturile de retea pentru a prabusi router-ele si switch-urile sau inundarea cu trafic peste posibilititile deprelucrare. Din nefericire, uneltele necesare pentru un asemenea atac sunt disponibile pe Internet si chiar utilizatorii fara experien Ie pot folosi cu succes, Smurf Flood Smurf Flood este un atac DOS cunoscut si sub numele de reflector. Un atacator trimite un numar mic de pachete echo ICMP la o adresi de broadcast care defineste mai multe gazde, Raspunsurile tuturor acelor gazde sunt trimise simultan c&tre victima, epuizind toati banda de comunicatie si posibil puterea de calcul, TCP SYN Atacul de tip TCP SYN este posibil datoriti schimbului de mesaje de la inceputul protocolului TCP. Un client trimite o cerere (SYN) cAtre un server, anuntandu-si intentia de a porni o conversatie. La réndul séu, serverul desemneazi o intrare in tabela cu conexiuni pe jumatate deschise si trimite inapoi un mesaj de incuviintare (SYN ACK), semnalizand astfe! disponibilitatea sa, in acest moment clientul trebuie sa raspund cu un pachet SYN ACK ACK pentru a putea incepe comunicatia de fapt. Un atacator ar putea si nu trimita niciodata aceasta confirmare, cauzand umplerea tabelei de conexiuni, cererile legitime ulterioare fiind astfel blocate, Daca un atacator trimite o rafal de astfel de cereri, acesta poate paraliza activitatea unui server de 100 MIPS care poate deservi 2000 de conexiuni pe secunda [SPAT99], dimensiunea tipic a tabelei TCP fiind de 2048 de intrari [DEC96]. UDP Flood (Fraggle) Acest atac este posibil datoritd naturii protocolului UDP care nu este orientat pe conexiune. Din moment ce nu este necesar nici un dialog in prealabil, un atacator poate trimite pachete citre porturi aleatoare ale sistemului vizat. Victima va aloca resurse pentru determinarea aplicatiilor care ascultd porturile pe care sosese date, iar cind igi daseama cA nici o aplicatie nu face acest lucru, va trimite ca rispuns un pachet ICMP. Dac& numérul de pachete aleatoareeste suficient de mare, exist posibilitatea ca sistemul s8 aiba probleme. ICMP Flood Acest atac consti din trimiterea unui numar mare de pachete ICMP cétre victima. Aceasta nu poate tine pasulcu volumul de informatie primit si poate observa o degradare a performantei E-mail bombing E-mail bombing” inseamné trimiterea unui numar mare de mesaje electronice cdtre un server cu scopul de a epuiza spatiul de pe dise si lajimea de banda. Cu excepfia atacului UDP, restul se pot evita prin masuri luate la nivelul sistemului de operare. Atacul UDP este dificil de contracarat intrucat exist o multitudine de aplicatii care ascultd la o multitudine de porturi. Filtrarea cu ajutorul firewall- urilor ar avea un impact puternic asupra functionalitafii iar acest pret nu il vor plati foarte multi utilizatori. 3 Atacuri prin pachete modificate Ping of Death Acest atac consti in trimiterea unui pachet ICMP mult mai mare decét pachetul maxim IP, si anume 64 KBytes. La destinafie, unele implementari nu pot decodifica pachetul, cauzénd prabusirea sau reboot-ul sistemului. Dowd implementari binecunoscute care au acest comportament sunt Windows 95 si unele versiuni timpurii de Windows NT. Chargen Acest atac este 0 variant a atacului de tip UDP Flood si foloseste portul 19 (chargen) al unui sistem intermediar folosit ca amplificator. Atacatorul trimite un pachet UDP fals cdtre un sistem intermediar care la randul su raspunde cu un sir de caractere victimei, pe portul su echo. Vietima trimite inapoi un ecou al sirului primit si bucla creaté consuma rapid banda dintre victima si sistemul intermediar. Teardrop Datorita implementarii defectuoase, uncle sisteme nu pot asambla fragmente de pachete care au deplasamente eronate. In loc si ignore elegant aceste pachete, aceste implementari blocheaz sau reboot-eaza sistemul. Land Desi este greu de crezut, unele sisteme aceeasi adresa ca sursd gi destinatie. WinNuke Acest tip de atac este specific sistemelor de operare Windows. Atacatorul trimite date aleatoare la un port anume, ceea ce cauzeazi blocarea sau reboot-ul sistemului, blocheaza cAnd primese pachete avand PROIECTAREA SITEURILOR WEB Care este rolul unui client, in cadrul modelului Client-Server? Modelul Client-Server[site17] [LalaniChandak1997] sta la baza tuturor aplicatiilor electronice si serviciilor Internet, Clientul, in general, ruleaza pe calculatorul utilizatorului si este folosit pentru a accesa informatii sau alte aplicafii din cadrul refelei Internet, Exemplul de client este browser-ul care poate indeplini cu succes urmitoarele sarcini:[site17] - emite cererile si receptioneazi datele care se vor afisa; -formateazi documentele pe baza tag-urilor HTML; - afigeazi documentele, Clientul si serverul se pot gasi pe acelasi calculator, in cazul in care se utilizeazi mecanisme de comunicatie local sau pe calculatore diferite, atunci cAnd se folosesc_mecanisme de comunicatie in refea. Clientul folosit pentru accesarea serverului web poate fi atat un browser At si un alt program capabil sa se conecteze la un port TCP 2. Ce se intelege prin server de web? (Povestiiiii )Un server web este o tehnologie de informatii care proceseaza cererile prin intermediul HTTP. HTTP(HyperText Transfer Protocol) este un protocolul de retea folosit pentru a distribui informatii pe World Wide Web. Ca si alte protocoale utilizate in Internet, protocolul HTTP (HyperText Transfer Protocol) este un protocol de tip cerere-rdspuns, bazat pe TCP/IP, destinat transferurilor informafiilor hipermedia. Apache foloseste HTTP pentru a comunica cu Internet Explorer, pentru a analiza URL-ul si a stabili protocolul de conectare in cazul de fafd:-http://localhost. Termenul de server se poate referi fie la intregul sistem de calcul, fie la un aparat, fie in mod specific pentru software- ul care accepti si supravegheaza cererile HTTP. Serverele Web au ca funetionalitate de baz receptionarea de cereri anonime de la clienti si furnizarea de informatii intr-o maniera doritd a fi eficienta si rapida [Ricart1998]. Deci, un server Web este un daemon care accepta conexiuni confor protocolului HTTP, raspunzénd cererilor receptionate de la clienti. Serverul [site17] ruleazd, in general, pe un calculator centralizator sau aflat la distant, furnizand sau oferind informatii/servicii clienfilor. Exemple de servere folosite in prezent sunt:Apache, IIS si etc. Un server web este un program care ruleazi pe un calculator, asteapta pe un port o conexiune TCP venita de la un client gi serveste acestuia pagini web folosind protocolul HTTP. [site31] Serverul web este un software, un program de sine statator, un executabil cu o functie bine stabilité: accea de a servi la cerere pagini de Internet intr-un mod bine determinat. Acest software poate fi: Apache HTTP Server, Microsoft Internet Information Services (IIS), iPlanet Web Server, Roxen WebServer, Zeus WebServer, 3.a. Serverul web ruleaza pe un calculator. [site31] 3. Care este clientul in cadrul modelului Client-Server folosit in programarea web? Descriefi caracteristicile acestui. Browserul [site3 1] este un program folosit la afigarea de continut web. Acesta se impune sa poata s interpreteze pagini HTML, si afigeze imagini si alte forme de continut multimedia, sa foloseasca referinte (link-uri) etc. Cea mai importanta caracteristica a sa este capacitatea lui de a se conecta prin protocolul TCP la un server web. Metoda de conectare s-a prezentat anterior. 4,.Enumerati activitit client. ‘indeplinite de browser end joaca rolul de in acest context se impune sa se precizieze cA introducerea unei adrese web (de exemplu: http://www.ubbeluj.ro/exemplu. html) in browser, determina executarea urmitorilor pasi: {site31][site8][Boian1997] .[stanca2007] 1. Browser-ul determina protocolul pe care il va folosi in dialogul cu serverul web (http HTTP - HyperText Transfer Protocol). 2, Browser-ul determina adresa web a serverului (www.ubbeluj.ro). 3. Browser-ul determina ce anume trebuie si ceard de la serverul web, adic& pagina html numiti exemplu.htm. 4, Browser-ul determind adresa IP a masinii pe care ruleaza serverul web prin interogari DNS (Domain Name Service) pe baza adresei web introdusa in address bar. 5. pe baza adresei IP determinat anterior, browserul va crea o conexiune TCP pe portul specificat in URL sau implicit pe portul 80. 6. Browser-ul lanseaz o cerere GET sau POST catre server specificand fisierul dorit: GET Jexemplu. htm. 7. Serverul web raspunde trimifand fisierul dorit sau 0 eroare corespun: cazul in care trimiterea nu este posibild (Lipsa fisierului, drepturi de acces insuficiente ete,). Aici conexiunea dintre client si server se incheie. 8, Browser-ul analizeazé fisierul primit si il afigeaz corespunzitor. Browser-ele cele mai cunoscute si deci cele mai folosite sunt: Microsoft Internet Explorer, Mozilla, Netscape, Opera, Lynx, ete.[stanca2007] ‘toare in 5. Descrieti arhitectura client-server. Ctisntt fy Char? Reyes ~ ee | Browser Nu e nimic seris.,doar poza..ce e scris ¢ ce este mai sus..tot..c intrebarile de am copy paste la tot documenté)) 6. Definiti notiunea de server web si exemplificati, La fel ca intr nr 2 7. Definiti nofiunea de browser si exemplificati. Intr3 8. Enumerati limbajele de seripting invitate. 9. Ce se petrece pe server atunci cénd se introduce in bara de adrese a browser-ului urmitoarea adresa hittp://www.localhost/proiectphp/Index.php? Intr nr 4 10. Enumerati caracteristicile server-ului Apache. Apache furnizeaza o implementare robusta a protocolului HTTP. Apache suporta © mare varietate de module care fi extind functionalitatea, acestea variazé de la server side programming si pana la scheme de autentificare si anume: mod_ssl ofera suport pt SSL si TLS modulul proxyun, modul de rescriere URL (cunoscut ca un motor de rescriere mod_rewrite), custom log files (mod_log_config) si suport de filtrare (mod_include si mod_ext_filter). Apache este virtual hosting (gizduirea virtuala), care const in posibilitatea de a gizdui mai multe site-uri simultan pe acelagi server. [Converse_Park_Morgan_2005|Apache2 rimine o platforma pe baza cAreia indivizii si institufiile pot si construiasca sisteme in scopuri experimentale si nu numai. Apache este o entitate organica, cei care beneficeazé de ea prin utilizare contribuie de cele mai multe ori la dezvoltarea ulterioara a platformei. Daca cineva plateste pentru un produs software, mu va dori dupa aceea si-i repare defectele.[Converse_Park_Morgan_2005]Limbajele suportate de serverul Apache sunt:PHP, PERL, PYTHON. (Alegeti voi..e aici tot document) 11. Ce reprezinti proiectul Apache? Proiectul Apache reprezinta dezvoltarea unui soft colaborativ care urmareste cererea si utilizarea unui Web Server putemic si robust. Proiectul era condus de cdtre voluntari din intreaga lume.Acest grup de voluntari foloseste Internet-ul pentru comunicare, planificari si dezvoltarea serverului si a documentatiei de rigoare.Ei sunt cunoscuti sub denumirea de Grupul Apache (Apache Group).in plus, sute de utilizatori au contribuit cu idei, coduri si documentatie la acest proiect. 12. Care sunt caracterisiticile serverului Apache? Argumentati. Intr nr 10...nebuna femeie 13. Care este rolul unui server de web? &)) intrebarile de mai sus 14. Care este protocolul folosite de serverul web in furnizarea paginilor web? Deserieti caracteristicile acestuia. Un server web este o tehnologie de informatii care proceseazi cererile prin intermediul HTTP, HTTP(HyperText Transfer Protocol) este un protocolul de retea folosit pentru a distribui informatii pe World Wide Web. Ca si alte protocoale utilizate in Internet, protocolul HTTP (HyperText Transfer Protocol) este un protocol de tip cerere-raspuns, bazat pe TCP/IP, destinat transferurilor informatiilor hipermedia, Apache foloseste HTTP pentru a comunica cu Internet Explorer, pentru a analiza URL-ul si a stabili protocolul de conectare in cazul de fatd:-http://localhost. Termenul de server se poate referi fie la intregul sistem de calcul, fie la un aparat, fie in mod specific pentru software-ul care accepta gi supravegheaza cererile HTTP, Serverele Web au ca functionalitate de baz receptionarea de cereri anonime de la clienti gi furnizarea de informatii intr-o maniera doritd a fi eficienta si rapida (Ricart1998}. Deci, un server Web este un daemon care accept conexiuni conform protocolului HTTP, rispunzénd cererilor receptionate de la clienfi. 15, Ce este MySQL? Definiti acest concept. MySQL este cel mai popular sistem de management pentru baze de date relationale deoarece este open-source. MySQL Server a fost creat pentru a lucra cu baze de date mai rapid deeat solutiile deja existente la ora actuala pe piatd [Graeme-site]. 16. Care este modul de functionare a unui server de baze de date pentru Web Functionarea unui server de baze de date pentru Web, in cazul nostra MySQL, implica existenta a doua elemente: un browser Web si un server. intre aceste doua elemente se impune si existe un canal de comunicare. Serverul de Web funetioneaza in moduri diferite in urmatoarele situafii [WellingThomson2005] 5 in cazul in care server-ul lucreazi cu pagini de web statice, un browser Web (clientul) formuleaza cererea cAtre server, iar serverul trimite inapoi un rispuns. 3 in cazul in care server-ul lucreaza cu pagini web dinamice care preiau datele dintr-o baza de date si le afigeaza se realizeaza urmatorii pasi: [WellingThomson2005] 5 browser-ul web al unui utilizator emite o cerere HTTP pentru o anumiti pagina Web; 5 server-ul web receptioneaza cererea gi transfé cazul nostru, pentru prelucrare; 5 motorul php incepe analiza paginii. in interiorul unei pagini web dinamice exist o comanda care realizeaza legatura la baza de date si executa interogarile pe care le trimite figierul cdtre motorul PHP, in serverului MySql; 3 serverul MySQL receptioneaza interogarea bazei de date apoi trimite rezultatele motorului PHP; 3 motorul PHP afiseaz rezultatele furnizate de server-ul MySQL formatate intr- un cod HTML pe care il returneazi server-ului Web, in cazul nostru Apache. Server-ul Web transmite codul HTML browser-ului, unde utilizatorului i se afigeaza rezultatul dorit de acesta. prelucreaza, iar 17, Enumerati si descriefi facilitati oferite de MySQL. Facilitafile oferite de MySQL sunt variate, dintre care se vor preciza urmatoarele [BuBois2001]: 5 posibilitatea accesului concurent la date de cdtre un numar nelimitat de utilizatori; 5 capacitatea de a gestiona pani la 50000000 de inregistrari si chiar mai multe; 5 executia foarte rapid a comenzilor, poate chiar cea mai rapid din cele existente pe piatd; 5 sistem ugor gi eficient de gestiune a drepturilor utilizatorilor; 5 este gratuit, fapt ce a atras extinderea fara precedent a folosirii acestui server de baze de date. 18, Enumerati principalele motive pentru folosirea pe scari largi a MySQL. MySQL este u procesa datele memorate pe un calculator este nevoie de un astfel de sistem de gestiune a datelor. Avnd in vedere cd toate calculatoarele sunt destinate pentru memorarea informatiilor, managementul bazelor de date joacd un rol decisiv, atat in gestiunea datelor ca activitate de sine stétatoare, cat si in cadrul aplicatiilor ample [BuBois2001]. MySQL este un sistem multiuser (permite si fie folosit concomitent de mai multi utilizatori) si multithread (prezinta mai multe fire de execufie). Utilizeazd SQL, limbajul standard de interogare a bazelor de date.[ Welling Thomson2005] MySQL este un sistem de gestiune a bazelor de date relationale. Tabelele sunt conectate prin relatii predefinite, fapt ce face posibild combinarea datelor din mai multe tabele, la cerere. MySQL este un produs open source. sistem de gestiune a bazelor de date, Pentru a adauga, insera si MySQL este un sistem client-server care este alcituit dintr-un server SQL multithread care are facilitati pentru mai multi utilizatori, mai multe programe si biblioteci client, instrumente de administrare si un numar mare de interfete de programare, Avand in vedere ci MySQL suport o gama variat de produse posibilitatea ca multe din limbajele de programare deja folosite software, exis de anumifi utilizatori suporte deja interfafa cu acest produs [BuBois2001] 19. Explicati mecanismul de functionare a unui server Web. Reallyyyy? 20, Enumerati tipurile de date numerice cunoscute, Dati un exemplu de asociere a unui tip de date pentru un cimp al unei tabel. Tipuri numerice sunt: TINYINT, SMALLINT, MEDIUMINT, INT sau INTEGER, BIGINT, FLOAT, REAL sau DOUBLE, NUMERIC 21, Enumerati tipurile de date calendaristice cunoscute. Tipurile de data calendaristicd sunt : DATETIME, DATE, TIMESTAMP, TIME, YEAR; 22, Enumerati grupurile in care se impart de sirurile de caractere? Sirurile de caractere se impart in trei grupuri si anume: siruri normale definite prin tipul CHAR (fixed length character), respectiv VARCHAR (variable length character), siruri text definite prin tipul TEXT respectiv BLOB (pentru siruri lungi sau date binare) si sirurile care folosese SET respectiv ENUM pentru valori predefinte.[sitel 1] 23. Definiti conceptul de baz de date. © baza de date poate fi definita ca un ansamblu de date elementare sau structurate, accesibile unei comunitati de utilizatori. Mai concret, o baza de date, este un ansamblu de fisiere intercorelate, care contine nucleul de date necesare unui sistem informatic(aplicatie informatica), 24, Definifi conceptul de relatie intre tabele. Relafia (tabela) — este un subansamblu al produsului cartezian al mai multor domenii, caracterizat prin nume si care confine tupluri cu semnificatie (tabeld), intr-o relatie, tuplurile trebuie sd fie distincte — nu se admit duplicate. O reprezentare a relafiei este tabelul bidimensional (tabela de date) in care liniile reprezinta tuplurile, iar coloanele corespund domeniilor. Numérul tuplurilor dintr-o tabeld este cardinalul tabelei, numarul valorilor dintr-un tuplu este gradul tabelei, Pentru a diferentia coloanele care contin valor ale aceluiasi domeniu, elimindnd dependenta de pozitie, se asociaza fiecdrei coloane un nume distinet — atribut. in timp ce tuplurile sunt unice, un domeniu poate apdrea de mai multe ori in produsul cartezian pe baza cdruia este definita tabela, 25, Enumerati si explicati tipurile de relafii ce se pot stabili intre doud sau mai multe tabele ale unei baze de date. Tipuri de relagii 5 Relatia unu-la-unu (1-1) este tipul cel mai simplu de relatie, prin care unui element din tabela R1 ii corespunde un singur element din tabela R2 si reciproc. Relatia 1-1 este mai rar folosita, in general pentru a reduce numarul de atribute dintr-o tabela, 5 Relatia unu-la-mai multi (1-N) este tipul de relatie prin care unui element din tabela R1 fi corespund unul sau mai multe elemente din tabela R2, iar unui element din tabela R2 fi corespunde un singur element din tabela R1 3 Relatia mai mulfi-la-mai multi (M-N) prin care unui element din tabela R1 fi corespunde unul sau mai multe elemente din tabela R2 si reciproc. Acest tip de relatie este frecvent intalnita, dar nu se poate implementa direct in bazele de date relationale. Pentru modelare se foloseste o relatie suplimentard, de tip 1-N pentru fiecare din tabelele initiale. 26, Enumerati operatiile care se pot realiza asupra unei tabele dintr-o baz de date si exemplificati. $tergerea unui tabel, index, baz de date sau o coloand dintr-un tabel se face folosind comanda DROP astfel[Chip2/2003]. DROP TABLE nume_tabel; DROP DATABASE nume_baza_de_data; Popularea tabelelor cu inregistrari se face prin comanda INSERT care are urmatoarea sintaxa[Chip2/2003]: INSERT INTO nume_tabel (cdmp1, cémp2, cdmp3) values (valoarel, valoare2, valoare3); Comanda SELECT se foloseste pentru a afisa toate inregistrarile dintr-o tabela astfel: mysql>SELECT * FROM nume_tabeld; Comanda SELEt afisa toate inregistrarile dintr-o tabela astfel: mysql>SELECT * FROM nume_tabela; Modificarea confinutului unei inregistrari se face utilizénd comanda UPDATE care are sintaxa[Chip2/2003] UPDATE nume_tabel SET nume_coloandl =noua valoare a coloanei 1°, nume_coloand2= ‘noua valoare a coloanei 2° WHERE conditii Stergerea inregistrarilor dintr-o tabeld se face prin comanda DELETE care are urmatorea sintaxa [Chip2/2003]: T se foloseste pentru a DELETE FROM nume_tabel WHERE condifii; 27. Care sunt activititiile necesare pentru creare a unui tabel in MySql. Pasul urmator in procesul de creare a unei baze de date il constituie crearea tabelelor ce 0 compun, Comanda de crearea a unui tabel are urmitoarea sintaxa: CREATE TABLE nume_tabeld (nume_camp tip_cémp); in procesul de creare a unui tabel activitatile sunt: 1. denumirea cdmpurilor; 2. alegerea unui tip de date potrivit pentru fiecare camp; 3. definirea atributelor pentru fiecare cmp in parte; 4, stabilirea coloanei care va juca rolul de cheie primar sau secundara cu ajutorul careia se va stabili legatura catre alte tabele ale bazei de date. Indexii pentru o tabela se pot crea astfel: 1. fie addugaind la sfirgitul instruetiunii CREATE TABLE... comanda {Chip2/2003] INDEX(nume_coloand_index); 2. fie folosind comanda: [WellingThomson2005] CREATE [UNIQUE|FULLTEXT] INDEX nume_index ON nume_tabeld (nume_coloand_index [(lungime)[ASC\DESC, 28. Care sunt principiile ce se impun a fi respectate in procesul de proiectare a unei baze de date. regula de baz in MySql este c majoritatea comenzilor tastate in monitorul MySQL de clienti pentru a fi transmise serverului se termina cu “;”. Caracterul “;’ indica’ server-ului de baze de date MySql ca s-a terminat introducerea unei comenzi si deci o poate procesa si afisa rezultatul. Crearea unei aplicatii Web dinamice, in marea majoritate a lor, implica crearea unei baze de date alcdtuita din una sau mai multe tabele legate intre ele. Crearea unei astfel de baze de date in MySql, pentru un magazin virtual care se ocupa cu comercializarea produselor IT, se realizeaza cu comanda:mysql> create database nume_hazd_de_date; “nume_bazi_de_date” va trebui si fie inlocuit cu numele pe care utilizatorul doreste sa fl acorde bazei lui de date, in cazul nostru magazin. Vizualizarea bazelor de date existente pe server-ul Mysql de catre administrator se face cu comanda: [Chip2/2003 ]:mysq/> SOW DATABASE. Interogarea de mai sus se termina cu punet si virguld deoarece toate comenzile SQL trebuie incheiate astfel pentru a semnala server-ului c& s-a terminat de scris propozitia si cd se poate trece la procesarea cererii. Rezultatul procesarii comenzii de mai sus este afisarea tuturor bazelor de date existente in directorul data a serverului MySQL. Selectarea unei baze de date ca find cea curenta se face prin comanda USE nume_baza_de_data; 29. Care sunt situatii in care serverul de Web functioneaz in moduri diferite? 30. Definiti nofiunea de limbaj PHP. PHP este un limbaj de scripting folosit pentru crearea paginilor Web dinamice. PHP poate fi folosit pentru scrierea unor programe stocate pe server ce acceseaza baze de date, PHP este un limbaj eficient si securizat. Aplicatiile PHP sunt usor de configurat pentru exploatare. PHP asigura timpi de rspuns competitivi la rularea aplicatiilor Web, asigurdnd in acelasi timp securitatea informatiilor si transparenta fafa de utilizator [Chip2/2003] Limbajul PHP-ul poate fi folosit pe aproape toate marile sisteme de operare, incluzand Linux, multe variante de Unix , Microsoft Windows, Mac OS X, probabil si altele. PHP are deasemenea suport pentru majoritatea serverelor de web din prezent. Acestea includ serverele Apache Microsoft Internet Information Server, Personal Web Server, Netscape , iPlanet si multe altele. Pentru majoritatea serverelor PHP are un modul, iar pentru celelalte care suporta standardul CGI, PHP putand sa lucreze ca un procesor CGI.Cu PHP nu exista limitare in obtinerea unor rezultate doar HTML. Posibilitatile limbajului PHP-ului includ afisarea de imagine, fisiere PDF si chiar filmulete Flash. PHP suporta incarcareafisierelor de pe calculatorul client upload si ofera suport pentru cookies. PHP este un limbaj ideal pentru construirea de pagini Web dinamice. El poate fi rulat pe mai multe platforme si se poate conecta la mai multe baze de date, in particular baze de date relationale create cu MySQL. Cel mai important aspect al limbajului este ins& posibilitatea de a fi inclus in cod HTML. Se pot crea pagini HTML statice si din loc in loc, acolo unde este nevoie, si se introduea dinamism cu PHP. Limbajul PHP fiind open-source beneficeazi de un sprijin activ din partea comunitatii on-line, acesta fiind si motivul cresterii explozive a numarului de site-uri bazate pe acest limbaj 31. Enumerati facilitatile oferite de limbajul PHP. Limbajul PHP oferd urmatoarele facilitati [Welling2001] 1. manipularea conjinutului paginilor web; 2. transmiterea header-clor HTTP pentru autentificare; 3. setarea cookie-urilor, 4. redirectionarea utilizatorilor, 5. asigurarea spargerii (paser) fisierelor XML; . crearea si manipularea imaginilor, animatiilor si a PDF-uri . conectarea la un server de e-mail ae 32, Enumerafi caracteristicile limbajului PHP. PHP, si intr-o anumitd caracteristici [Welling2001: 5 este interpretativ; 3 executia este rapida deoarece interpretorul este inclus in server-ul Web, prin urmare nu se cheltuiese resurse cu configurarea; 5 este bogat in facilitati, continénd numeroase functii utile; 5 are o sintaxa simpla, variabilele nu trebuie declarate, tipul acestora se stabileste la inifializarea lor cu 0 valoare si in plus numele de functii sunt intuitive 33. Deserieti principiul de functionare a limbajului PHP. Modul de functionare a limbajului PHP este urmatorul: browser-ul trimite ctre server-ul Web o cerere HTTP pentru un fisier PHP. Server-ul recunoaste c fisicrul cerut contine cod PHP, in consecinf& va lansa parser-ul PHP, care va primi la intrare figierul respectiv. Parser-ul va identifica secventele PHP, care in cadrul codului HTML sunt cuprinse intre mareajele ,.” si le va interpreta, Tot ce nu este cod PHP este trimis spre iesirea standard fara nici 0 prelucrare. Codul PHP poate serie la randul sau in iegirea standard prin comenzile prestabilite cum ar fi ,,echo” sau ,,print”. {n final serverul Web interceptezi iesirea standard a parser-ului si transferd totul browser-ului care a cerut pagina [MeCarty2002] 34. Care este efectul comenzii echo();? in sistemele de operare UNIX, Windows gi OS/2, comanda echo tipareste textul specificat pe linia de comand’. Comanda este folosita adescori in scripturi shell 35, Exist diferente intre comanda echo(); (;? Daci da enumeratile? Comenzile de editare a unei pagini HTML dintr-un script PHP, sunt: echo, print, print_r, si printf. Toate aceste comenzi mai sunt folosite pentru afisarea rezultatelor unei functii, a valorilor unei variabile, a clementelor unui tablou, a mesajelor text, a valorilor introduse de utilizator in cmpurile unui formular HTML, pentru a transmite valorile incadrate intre ghilimele la browser,ete sura gi alte limbaje Web, prezinté urmatoarele 36. Ce sunt variabilele PHP? Scrie{i sintaxa si exemplificafi. Variabilele sunt elemente ce au o anumita valoare la un moment dat. Valoare unei variabile se poate schimba de-a lungul executiei unui script Lucrul cu variabile in PHP este foarte usor. Nu trebuie specificat un tip pentru ele (de genul "variabila text", "variabila numerica") ci acesta este determinat in mod automat. Variabilele sunt diferentiate de celelalte elemente ale limbajului prin caracterul 8. Astfel, o variabila are forma Snume. Numele variabilei poate fi orice identificator valid (un text ce contine doar litere, cifre si underscore, fara spatii sau alte caractere; un identificator nu poate incepe cu o cifra)(de pe net..nu este in material) Sintaxa unei variabile PHP este: Snume_variabila=valoare; 37. Care sunt structurile de control complexe prezente in PHP? Strueturile de control complexe prezente in PHP sunt: [stanea2007] 5 structura alternativa care se realizeaza cu ajutorul instructiunii JF; 5 structura repetitiva condifionata anterior care se realizeaza cu ajutorul instructiunilor WHILE, FOR si FOREACH; 5 structura repetitiva condifionata posterior care se realizeaza cu ajutorul instructiunii DOWHILE; 5 structura selectiv: realizeaza cu ajutorul instructiunii SWICH. 3 instrucfiuni folosite in cadrul ciclurilor care oferd o flexibilitatea mare in programarea in PHP sunt: CONTINUE, BREAK si RETURN. 38, Definifi nofiunea de constant’ PHP? O constanta are un tip si o valoare. Atat tipul, cat si valoare, sunt determinate de caracterele care intra in componenta constantei. Valoare unei constante nu poate fi schimbata in timpul executiei programului in care a fost utilizata. [Negrescu2000] Constantele se caracterizeazi prin: [site16] 5 li se atribuie o valoare care nu poate fi modifica executiei programului; 5 constantele nu prezinta in sintaxa lor simbolul $ ; 3 numele unei constante este o succesiune de litere si eventual cifte, primul caracter este in mod obligatoriu litera. Aceasta este case sensitiv. 5 constantele au un caracter global. 3 definirea constantei se realizeaz cu functia define(). au ters de-a lungul

S-ar putea să vă placă și