coarfa stefan

Upload: ioan-nicolae-ureche

Post on 14-Oct-2015

48 views

Category:

Documents


0 download

TRANSCRIPT

  • 5/24/2018 Coarfa Stefan

    1/33

    1 Tehnologii.............................................................................................................................................................21.1 Alegerea tehnologiei pentru aplicaii web ....................................................................................................2

    1.1.1 Active Server Pages (ASP).....................................................................................................................21.1.2 Java Server Pages ...................................................................................................................................31.1.3 PHP.........................................................................................................................................................1.1. Perl..........................................................................................................................................................!

    1.1.! "#S$%...................................................................................................................................................!1.1.& 'olusion..............................................................................................................................................!1.2 *nstructiuni e instalare a unor tehnologii e e+voltare aplicaii web.........................................................,

    1.2.1 Active Server Pages (ASP).....................................................................................................................,1.2.2 JSP -i servlei..........................................................................................................................................,

    1.2.2.1 btinerea si instalarea /it0ului e e+voltare a servleturilor si JSP.................................................,1.2.2.2 *nstalare unui server capabil sa rule+e servleturi........................................................................... .

    1.2.3 PHP.........................................................................................................................................................1.2. Perl........................................................................................................................................................111.2.! "#S$%.................................................................................................................................................11

    1.3 e+voltare Aplicaii 4eb............................................................................................................................121.3.1 Active Server Pages (ASP)...................................................................................................................121.3.2 Servleii ................................................................................................................................................1

    1.3.2.1 Structura e ba+a a servletului ......................................................................................................11.3.2.2 5n servlet si6plu care generea+a te7t .................................................................................. .......1!1.3.2.3 'o6pilarea si instalarea servletului ..............................................................................................1!1.3.2. 8ularea servletului.........................................................................................................................1&1.3.2.! Servlet care generea+a HT"% ................................................................................................ .....1,

    1.3.3 PHP.......................................................................................................................................................1,1.3. Perl........................................................................................................................................................11.3.! "#S$%.................................................................................................................................................29

    1.3.!.1 "#S$% :or %inu7..........................................................................................................................211.3.!.2 "#S$% :or 4inows....................................................................................................................2

    2 "aga+in ;irtual..................................................................................................................................................2Arese 5tile..........................................................................................................................................................32

  • 5/24/2018 Coarfa Stefan

    2/33

    1 Tehnologii

    1.1Alegerea tehnologiei pentru aplicaii web

    Atunci c seciuni interactive sau s=integr=6 ba+e e ate ?n site0ul web> ne con:runt=6 cu ur6=toarea proble6=@ care intretehnologiile isponibile pe pia= ar :i cea 6ai potrivit=

    1.1.1 Active Server Pages (ASP)

    Active Server Pages (ASP) este o e7tensie *SAP* a serverului e *nternet e la"icroso:t*nternet *n:or6ation Server (pentru 4inows BTC2999) sau Personal 4eb Server(pentru 4inows 7). Aceasta ?nsea6n= c= un anu6e tip e :i-iere (e obicei D.asp)> pentruorice cerere in partea unui client este 6ai ?ntii interpretat e catre asp.ll pe server re+ult

  • 5/24/2018 Coarfa Stefan

    3/33

    Bu este o plat:or6a e e+voltare e aplicaii web co6pleta. Bu inclue serviciie tip TP> %AP sau HTTP. Bu rulea+= ec

  • 5/24/2018 Coarfa Stefan

    4/33

    coninut poi s=0i oragni+e+i 6ai u-or 6unca in echipa @ e7perii tai in 4eb esignconstruiesc HT"%0ul> lasan loc pentru progra6atorii tai sa insere+e coninutulina6ic.

    Server0Sie *nclues (SS*) . SS* este o tehnologie suportata pe o arie larga pentru

    incluerea unor piese e7terioare e:inite intr0o pagina 4eb statica. JSP este 6ai bunapentru ca ?i per6ite sa :olose-ti servleturile in loc sa :olose-ti un progra6 separatpentru generarea coninutului ina6ic. Si> SS* este :olosit pentru inclueri si6ple econinut> nu pentru progra6e care :olosesc :or6ulare> :ac cone7iuni la ba+e e ate>etc.

    JavaScript . JavaScript poate genera HT"% ina6ic. Kste o capabilitate :olositoare>ar se escurca oar cu situaii in care in:or6aia ina6ica este ba+ata pe 6eiulclientului. 'u e7cepia coo/ies> trans6iterea HTTP si in :or6ulare a atelor nu esteisponibila cu JavaScript. Si> eoarece rulea+= pe staia client> JavaScript nu poate

    accesa resurse e pe server cu6 ar :i ba+e e ate> cataloage> preturi> etc. Static HT"% . Bo co66ent.

    1.1.3 PHP

    Kste o asa nu6ita sursa eschisa (open source)> reali+ata si per6anent ?6bun=t=it= eco6unitatea e+voltatorilor e aplicaii web> la :el ca si ba+a e ate cu care lucrea+a in 6o

    pre:erenial ("#S$%). 5n nu6ar in ce in ce 6ai 6are e site0uri (inclusiv Slashot)utili+ea+= tehnologia php. 'a -i ase6=nare PHP0ul se co6porta la :el ca -i ASP0ul -i JSP0ul

    -i anu6e@ un anu6e tip e :i-iere (e obicei D.php)> pentru orice cerere in partea unui clienteste 6ai ?nt :oru6uri> servere e publicitate s.a.

    'o6unitate e e+voltatori php care cre-te e la o +i la alta este gata sa o:ere

    oric o aplicaie construita pentru a integra"#S$% necesita schi6barea co6pleta a :iec=rei linii e script pentru

  • 5/24/2018 Coarfa Stefan

    5/33

    ?nlocuirea ba+ei e ate cu racle. Totu-i tane6ul PHPC"#S$% este e7tre6e r=sp scalabil> rapi si in general gratuit> cu caracteristici:oarte potrivite pentru 6ulte intre aplicatiile care :olosesc suportul e ba+e e ate pentru444.

    "#S$% operea+a in ba+a unui 6oel clientCserver. rice 6asina care oreste sa

    procese+e interogari asupra unei ba+e e ate "#S$% trebuie sa rule+e "#S$% server(6#sLl)> care este responsabil e tot tra:icul e tip inco6ingCoutgoing cu ba+a e ate. 'aorice alt server> m%s1ldasculta pe un port particular (339&) eventualele cereri e cone7iuneale unui client 0 orice aplicatie care tri6ite cereri catre o ba+a e ate via 6#sLl. Acestclient poate :i un si6plu script in Perl care (gratie 6oulului I*) poate tri6ite o cerere catreatabase prin inter6eiul serverului "#S$% sau chiar clientul co66an0line m%s1l.'lientul m%s1leste o inter:ata interactiva pentru tri6iterea e co6en+i catre server.

    1.1.& 'olusion

    'e este 'olusion plat:or6a co6pleta e e+voltare e aplicatii web@ li6ba e

  • 5/24/2018 Coarfa Stefan

    6/33

    progra6are> server e aplicatii> 6eiu e e+voltare. Bu este o sursa eschisa> eci nu estegratuita. Stuiile e piata inica :aptul ca este cel 6ai bine vinut server e aplicatii web> inco6petitie cu "icroso:t Activeserver Pages (asp)> Sun Java Server Pages (sp)> Perl> Php.Trebuie sa tine6 cont insa ca 6aoritatea co6petitorilor sunt practic tehnologii gratuite.

    Aceasta situatie :ace ca> e :apt> 'olusion sa intre in co6petitie cu cele 6ai puternice (siscu6pe) prouse in aceasta categorie@ racle Application Server> Apple 4ebbectUAvin in veere pretul 6ult 6ai 6ic cu care se vine 'olusion> nu este e 6irare ca acestase a:la in top. 'reatorii progra6ului (Allaire) aprecia+a ca peste 199.999 e e+voltatori inintreaga lu6e :olosesc acest progra6.

    Calitati:

    Simplitate@ Pentru 6aoritatea e+voltatorilor care stapinesc li6baul HT"%>

    'olusion este usor e invatat> :iin un li6ba intuitv. Tagurile speci:ice

    sunt Vc:setV si Vc:outputV. ;ariabilele se incarea+a cu se6nul VWV. %i6baule progra6are este '"% ('olusion "ar/up %a6guages) iar e7tensiile

    paginilor sunt Vc:6V.

    Putere@ 'iteva intre serviciile o:erite prin inter6eiul '"% sunt@

    Per6ite constructia e pagini web interactive

    :era acces la ba+e e ate> inclusiv proceuri e inregistrare sitran+actionare

    *nclue protocoale e retea@ %AP> PP3> S"TP> HTTP si TP

    Per6ite incluerea unor taguri speci:ice scrise in 'XX> Java sau elphi

    Comunitate@ K7ista o 6are co6unitate e e+voltatori care utili+ea+a

    'olusion> e7tre6 e activa in grupurile e iscutii si in carul sectiunii e:oru6 in site0ul Allaire.

    Precautii:

    8ulea+a pe plat:or6a 4inows BT. Serverele e web hosting pe plat:or6e5B*> e regula nu o:era suport pentru e+voltarea e aplicatii 'olusion.Pot e7ista proble6e e securitate in situatia in care serverul nu este binecon:igurat. *nainte e a cu6para un pachet e web hosting care inclue suport

    pentru aplicatii 'olusion este inicat sa intrebati :urni+orul prospectat acaoptiunea Vavance securit#V este activa si aca scripturile pe care intentionatisa le utili+ati ar putea :i citite e altii prin inter6eiul tagului '*%K.

  • 5/24/2018 Coarfa Stefan

    7/33

    1.2Instructiuni de instalare a unor tehnologii de dezvoltare aplicaii

    web

    1.2.1 Active Server Pages (ASP)

    Active Server Pages (ASP) este instalat auto6at oata cu serverul *nternet*n:or6ation Server (**S) sau Personal 4eb Server (P4S). Auto6at :urni+orii e web hostingcare o:era pachete BT> o:era si suport pentru aplicatii ASP> :ara ta7e supli6entare(ease6enea e7e6ple sau help). Puteti gasi help re:eritor la ASP in 4inowsCHelpC**S.

    Ku a6 instalat **S0ul e pe /it0ul 4*B4S BT SK8;K8 .9.

    1.2.2 JSP -i servlei

    2$/$/$2 ,btinerea si instalarea 3it*ului de dezvoltare a servleturilor si 4SP

    Pri6ul pas este sa ownloaati un so:t care i6ple6entea+a Java Servlet 2.1 sau 2.2 sispeci:icatiile Java Server Pages 1.9 sau 1.1. Puteti lua o versiune gratuita e la Sun>cunoscuta sub nu6ele e JavaServer 4eb evelop6ent Yit (JS4Y)> [email protected].

    Apoi> trebuie sa spuneti co6pilatorului avac une gaseste clasele pentru servleturi siJSP can co6pile+i un :isier servlet. *nstructiunile e instalare ale JS4Y e7plica asta> ar

    in esenta este vorba espre speci:icarea caii spre servlet.ar si sp.ar (care vin oata cuJS4Y) in '%ASSPATH. aca nu ai 6ai avut e a :ace cu '%ASSPATH pana acu6> itispun ca este variabila care speci:ica une sa se uite Java upa clase. aca nu este speci:icata>Java se uita in irectorul curent si in bibliotecile stanar e siste6. aca o sete+i tu> :ii sigurca ai inclus si V.V> care insea6na irectorul curent. *ata un 6ic su6ar espre setarile necesare

    pe cateva plat:or6e @

    5ni7 (' Shell) setenv '%ASSPATH [email protected]@servletZirCsp.ar

    Aauga V@['%ASSPATHV la s:irsitul liniei setenv aca '%ASSPATH este easetat si vrei sa 6ai aaugi> nu sa inlocuiesti. Atentie olosesti oua puncte ca sa

    separi irectoarele> in co6paratie cu 4inows une :olosesti punct si virgula. 'a sa:aci setarea per6anenta> pune aceasta instructiune in :isierul .cshrc.

    4inows !CCBT set '%ASSPATH\.OservletZirCservlet.arOservletZirCsp.ar

    Aauga V@['%ASSPATHV la s:irsitul liniei setenv aca '%ASSPATH este easetat. 'a sa :aci setarea per6anenta> pune aceasta instructiune in :isierulautoe7cec.bat. *n 4inows BT 6ergi pe Start> selectea+a SettingsC'ontrolPanelCS#ste6CKnviron6ent si apoi intro variabila si valoarea ei. *n s:irsit> upa cu6vei veea in ur6atoarea sectiune> poate vei vrea sa pui servleturile in pachete

    (pac/ages) pentru a evita con:lictul e nu6e cu alte servleturi pe care le scriu alte

  • 5/24/2018 Coarfa Stefan

    8/33

    persoane pe acelasi server 4eb sau e aplicatii. *n acest ca+> ar :i convenabil saaaugi si irectorul pachetului in '%ASSPATH.

    2$/$/$/ 5nstalare unui server capabil sa ruleze servleturi

    5r6atorul pas este obtinerea si instalarea unui server 4eb care suporta servleturiJava> sau instalarea unui pachet la serverul 4eb e7istent. aca :olosesti un server 4eb up0to0ate> atunci s0ar putea sa ai ea tot ce iti trebuie. ;eri:ica ocu6entatia serverului tau sauuita0te pe lista serverelor care suporta servleturi> [email protected]#.ht6l. esi in cele in ur6a poate vei vrea unserver e calitate co6erciala> pentru invatare este 6ai bine sa ai un siste6 :ree pe care sa ti0linstale+i si sa0l :olosesti pentru teste. *ata cateva in optiunile cele 6ai populare @

    1. Apac6e "omcat(6ttp:77ja3arta$apac6e$org7)0este i6ple6entarea si re:erinta o:iciala a

    speci:icatiilor servlet 2.2 si JSP 1.1. Poate :i :olosit ca un 6ic server stan0alonepentru teste e servleturi si JSP> sau il integre+i in Apache 4eb Server. Pina in anul2999> era singurul server care suporta servlet 2.2 sau JSP 1.1. Anul acesta insa si0auanuntat suportul 6ulte alte servere (probabil le sca+usera vin+arile O0). To6cat> ca siApache> este gratuit. Si tot ca si Apache (care este :oarte rapi si cu 6ulte suporturi>insa i:icil e con:igurat)> To6cat necesita un e:ort 6ai 6are e con:igurare inco6paratie cu serverele co6erciale. Pentru etalii> vi+itati.

    2. Sun8s 4ava Web Server +6ttp:77free9are$t6esp6ere$com70 * este scris in intregi6e inJava si a :ost unul in pri6ele servere 4eb care a suport co6plet la speci:icatiile

    servlet 2.1 si JSP 1.9. 'u toate acestea> nu 6ai este sub e+voltare pentru ca Sun seconcentrea+a asupra serverului BetscapeC*0Planet> ar este o soluti populara pentruinvatarea servleturilor si a JSP0urilor.

    3. Allaire 4run +6ttp:77999$allaire$com7products7jrun70* este un 6otor pentru servleturi siJSP care poate :i integrat in Betscape Knterprise sau astTrac/ > **S> "icroso:tPersonal 4eb Server> versiuni 6ai vechi e Apache> ]8eill#]s 4ebSite> sauStarBine 4ebSTA8. versiune care suporta pina la ! cone7iuni si6ultane esteisponibila gratuitO versiunea co6erciala eli6ina aceasta restrictie si aauga:acilitati cu6 ar :i o consola e a6inistrare.

    . 4avaServer Web )evelopment it [email protected] i6ple6entarea o:iciala si re:erinta pentru speci:icatiile servlet 2.1 si JSP 1.9.Kste :olosit in special ca un server e sine statator pentru teste e servleturi si paginiJSP> inainte ca acestea sa :ie puse pe un server 4eb care suporta in intregi6e acestetehnologii. Kste gratuit si e:icient> ar cere un pic e e:ort pentru instalare sicon:igurare.

    !. ;e9 Atlanta8s Servlet.xec +6ttp:77ne9atlanta$com70 * este un 6otor rapi eservleturi si JSP care poate :i integrat in cele 6ai populare servere 4eb pentruSolaris> 4inows> "acS> HP05 si %inu7. Poate :i ownloaat si :olosit gratuit>

    ar 6ulte in :acilitatile avansate si utilitare e a6inistrare sunt inisponibile pina

  • 5/24/2018 Coarfa Stefan

    9/33

    la obtinerea unei licente. Bew Atlanta :urni+ea+a si un servlet ebugger gratuit carelucrea+a cu cele 6ai populare Java *K.

    &. 'efion8s #iteWebServer +6ttp:77999$gefionsoft9are$com70 * este un 6ic server 4ebgratuit care suporta servlet 2.2 si JSP 1.1. Au e ase6enea un plugin gratuit nu6it

    4A*'ool8unner care aauga suportul pentru servlet 2.2 si JSP 1.1 la servereleBetscape atsTrac/ si Knterprise. ;in si un nu6ar e co6ponente servlet si JSPintr0un pachet nu6it *nstantnline.

    1.2.3 PHP

    *n continuare va pre+int pasii pe care trebuie sa ii ur6e+i pentru a instala si con:iguraPHP sub 4inows. *ntruc nu va 6ai pre+it 6oul e instalare pe plat:or6a %inu7.

    1. btinerea /itului e instalarePoti obtine aceste :isiere e la aresa ur6atoare@

    [email protected]

    2. *nstalarea PHPAcest pas este e7tre6 e usor. 'reea+a un irector uneva pe har0is/. e e7e6plu>

    poti crea un irector enu6it '@^php3 si sa e+arhive+i toate :isierele in /it in acest irector.K7e6plele in acest articol presupun ca ai :olosit acest irector.

    3. 'on:igurarea PHP*n irectorul '@^php3 se a:la un :isier enu6it Vphp3.ini0istV. 'opia+a acest :isier in

    irectorul in care este instalat 4inows (pe cele 6ai 6ulte siste6e '@^4inows) sireenu6este0l Vphp3.iniV.

    eschie :isierul '@^4inows^php3.ini cu un eitor si6plu e te7t (e e7e6pluBotepa) si cauta sirul e caractere Ve7tensionZirV. ;aloarea i6plicita este probabil V.CV.Schi6ba aceasta linie cu irectorul in care ai instalat PHP. aca ai :olosit enu6ireasugerata 6ai sus> linia respectiva trebuie sa arate in :elul ur6ator@

    e7tensionZir \ V'@^php3VAceasta linie eter6ina locul in care PHP cauta e7tensii pentru esenarea i6aginilor>

    conectarea la ba+e e ate> etc.aca ai nevoie e ase6enea e7tensii> va trebui sa le active+i separat pe :iecare. %e

    poti gasi in sectiunea V#na6ic K7tensionV a :isierului '@^4inows^php3.ini. aca> ee7e6plu> ai nevoie e suport M (pentru esenarea i6aginilor)> va trebui sa stergico6entariul (caracterul VOV) in :ata ranului corespun+ator@

    e7tensions \ php3Zg.llaca nu stii ce repre+inta :iecare in aceste e7tensii> lasa pentru :iecare valoarea

    i6plicita.

    http://www.php.net/http://www.php.net/
  • 5/24/2018 Coarfa Stefan

    10/33

    . *nstalarea serverului 4eb Apache (optional)5na in caile pentru a testa script0urile create este e a instala si Apache sub

    4inows. Apoi tot ceea ce ai e :acut este sa pui script0urile in irectorul corespun+ator si sail accese+i printr0un browser conectat la serverul local.

    Poti gasi instructiunile pentru instalarea si con:igurarea Apache la aresa ur6atoare@[email protected]+ar.co6CarchiveCapache.sht6l

    !. 'on:igurarea Apache pentru a :olosi PHPaca nu vei instala Apache ca server 4eb> poti sari peste acest pas.Pri6ul lucru pe care ai nevoie sa il :aci este sa 6oi:ici :isierul e con:igurare al

    Apache> http.con:. aca ai instalat Apache in irectorul i6plicit> vei gasi acest :isier laaresa@

    V'@^Progra6 iles^Apache Mroup^Apache^con:^V

    'auta +ona :isierului ce contine sectiunea ScriptAlias. upa instructiunile ScriptAliaspentru V'M*0I*BV aauga ur6atoarea linie@

    ScriptAlias Cphp3C V'@Cphp3CVApache trebuie sa :ie con:igurat pentru tipul "*"K PHP. 'auta in http.con: upa

    sectiunea VAT#peV si aauga ur6atoarele ranuri@AT#pe applicationC70http0php3 .php3

    AT#pe applicationC70http0php3 .phpAT#pe applicationC70http0php3 .pht6lesigur poti aauga orice e7tensii oresti ca Apache sa le recunoasca rept pagini

    PHP.Acu6 trebuie sa ii spune6 serverului sa rule+e e7ecutabilul php.e7e e :iecare ata

    can intalneste un script PHP. Aauga ur6atorul ran in :isierul http.con:> in carulsectiunii VActionV@

    Action applicationC70http0php3 VCphp3Cphp.e7eVBota@ VCphp3V va :i recunoscut rept un ScriptAlias> si va :i :olosita valoarea pe care

    ai setat0o 6ai evre6e.

    &. olosirea PHP :ara Apache

    oloseste un eitor e te7te si scrie ur6atorul script@EHT"%GEHKAGET*T%KGTestECT*T%KGECHKAGEI_GE phpin:o()GECI_GECHT"%GSalvea+a :isierul si rulea+a php.e7e avan enu6irea noului :isier rept para6etru.

    e e7e6plu> aca :isierul a :ost salvat ca Vtest.php3V> poti :olosi ur6atoarea instructiune@'@^php3^php test.php3

    ;ei obtine un :isier HT"% continan 6ulte in:or6atii re:eritoare la con:igurareaPHP.

    ,. olosirea PHP cu Apache

    http://www.thesitewizard.com/archive/apache.shtmlhttp://www.thesitewizard.com/archive/apache.shtml
  • 5/24/2018 Coarfa Stefan

    11/33

    Salvea+a :isierul e 6ai sus in irectorul VhtocsV> si :oloseste 6etoa ta obisnuita eaccesare a unui :isier web. Ar trebui sa obtii acelasi re+ultat ca in pasul e 6ai sus.

    Au0ti a6inte sa escarci e pe site0ul PHP intreaga ocu6entatie a:erenta. ease6enea> ar trebui sa veri:ici acest site cat 6ai es (sau abonea+a0te la buletinul in:or6ativ

    gratuit) pentru 6ai 6ulte in:or6atii si articole espre PHP.

    ATENTIE!!! --ecomandare:

    alta 6etoa 6ult 6ai si6pla si 6ai e:icienta e a instala pe plat:or6a 4inows 0PHP0ul>(instalare "#S$%> Server Apache> Perl> Php) este :olosirea pachetului BuSphere ela :ir6a BuSphere. Ti6p esti6ativ e instalare a acestor tehnologi ! 6inute pentru un siste6cu procesor A" Y2 N 99"H+ si &"b 8A". Acest pachet so:tware il gasii la aresa@

    [email protected]

    1.2. Perl

    Perl0ul este un so:t e tip pen Source. At

  • 5/24/2018 Coarfa Stefan

    12/33

    o shellG"#sLla6in 0u root 0p status sau prin

    o shellG"#sLla6in 0u root 0p ping sau prin

    o shellG"#sLla6in 0u root 0p e7tene0status

    o shellG rp6 0i "#S$%0evel03Z22Z2,01Zi3&.rp6

    oritorii e 6ai 6ult control pot esigur alege varianta co6pilarii in surse. *n:unctie e optiunea aleasa pentru scrierea aplicatiilor care lucrea+a cu "#S$% (in ca+ulnostru PK8%) sunt necesare alte c pentru care :ir6a BuSphere au e+voltat pachetulBuSphere. Acest pachet cu6ulea+a 6ai 6ulte tehnologii> printre care a- a6inti@ ApachServer :or 4inows> "#SLl :or 4inows> Perl :or 4inows> PHP> etc.

    1.3Dezvoltare Aplicaii Web

    1.3.1 Active Server Pages (ASP)

    aca va intrebati cu6 pot :i create paginileCaplicatiile ASP raspunsul nu este unic. 5n6eiu e progra6are es utili+at este ;isual *nterev e la "icroso:t care :ace parte in

    pachetul ;isual Stuio. ar se pot utili+a orice eitor e pagini HT"% sau chiar orice eitore :isiere plain0te7t (Botepa). eoarece coul este interpretat e :iecare ata cin estesolicitata pagina e catre e7tensia serverului e 4eb (asp.ll)> coul ASP este intr0un :isierte7t.

    Sa vee6 un 6ic e7e6plu e pagina [email protected] VEHT"%GEI_GV Z

    VAceasta este o pagina construita cu response.writeV vbcrl:response.write VECI_GECHT"%GVFGKvient unele proprietati si 6etoe ale obiectelor Request>Response> Server>

    Application> Sessionsint 6ai 6ult :olosite ecit altele.

    K7e6plu e utili+are :unctii in pagina ASP@

  • 5/24/2018 Coarfa Stefan

    13/33

    EHT"%GEI_GAcu6 este@ EF \Scrieatara() FGECI_GECHT"%GEF

    unction Scrieatara()Scrieatara\Vata V or6atateTi6e(Bow>vbShortate) V ora V

    or6atateTi6e(Bow>vbShortTi6e)Kn unctionFG*n acest ca+ s0au :olosit 2 :unctii ;IScript si anu6e FormatDateTime care

    :or6atea+a o ata intr0un anu6e :el speci:icat printr0o constanta (vShortDate>vShortTime)> respectiv Nocare returnea+a ata si ora curenta. *n plus a6 :olosit o :unctiecreata in coul ASP nu6ita ScrieData"ra.

    Ase6enea :unctiilor se pot crea in coul ASP si proceuri

    Su nu6eZproc()...En# Su

    oarte 6ulte pagini ASP :olosesc ba+e e ate "S S$% Server sau Access pentrupastrarea unor iverse in:or6atii. Sa vee6 cu6 se poate :ace asta intr0un 6ic e7e6plu.Presupune6 ca ave6 o ba+a e ate nu6ita Vtest.6bV in irectorul paginii Vtest.aspV careare table0ul V5sersV.

    Eht6lGEbo#GToti userii inregistrati sint@EbrGEFi6 con> recSet con\Server.'reatebect(VAI.'onnectionV)Set rec\Server.'reatebect(VAI.8ecorsetV)con.pen VI$\V Server."apPath(V.V) V^test.6bOriver\"icroso:t Access

    river (D.6b)OV

    i: reLuest.or6(Vnu6eV)EGVV then Zcon.K7ecute V*BSK8T *BT 5sers(Bu6e) ;A%5KS(]V

    reLuest.or6(Vnu6eV) V])Vrec.pen VSK%K'T D 8" 5sersV>conwhile not rec.K

    response.write rec.iels(VBu6eV) VEbrGV vbcrl:rec."oveBe7t

    wenrec.'lose

    Set rec\Bothingcon.'lose

  • 5/24/2018 Coarfa Stefan

    14/33

    Set con\Bothing FGE:or6 action\Vtest.aspV 6etho\VpostVG

    Bu6ele@ Einput t#pe\te7t na6e\Vnu6eVGEinput t#pe\sub6it value\VAaugaVG

    EC:or6GECbo#GECht6lGPentru eschierea 8ecorset0ului a6 :olosit valorile default pentru acesta si a6

    aaugat valorile in ba+a e ate :olosin Connection. upa cu6 veeti pagina in care vor :iPST0ate valorile la apasarea pe butonulAdaugaeste chiar pagina insasi (test$asp). Acestevalori se regasesc in-e1uest$=orm+>numele?cimpului?din form>0. aca in 8" este unci6p c6ec3box valoarea lui este via sau VonV upa cu6 ci6pul este 6arcat sau nu.( e7e6plu@ i: reLuest.or6(V'hec/bo71V)\VonV then ... ] este 6arcat)

    1.3.2 Servleii

    2$@$/$2 Structura de baza a servletului

    *ata aici structura e ba+a a unui servlet care tratea+a o cerere MKT. 'ererile MKT>pentru cei ne:a6iliari cu HTTP (cititi articolul legat e progra6area 'M*)> sunt cereri :acutee browser in 6o6entul can utili+atorul scrie un 58% in linia e arese> ur6areste un lin/intr0o pagina 4eb> sau co6pletea+a un :or6ular HT"% care nu are speci:icat "KTH.Servleturile pot :oarte usor sa trate+e si cererile PST> care sunt generate can cineva

    co6pletea+a un :or6ular HT"% care are speci:icat "KTH\VPSTV. ;o6 iscuta espreasta 6ai incolo.

    i(+ort aa.io.=7

    i(+ort aa>.s&r&t.=7

    i(+ort aa>.s&r&t.*tt+.=7

    +);i' 'ass $o(&$&r&t &>t&n?s Htt+$&r&t @

    +);i' oi? ?oA&t1Htt+$&r&t9&5)&st r&5)&st,

    Htt+$&r&t9&s+ons& r&s+ons&6

    t*ros $&r&tE>'&+tion, IOE>'&+tion @

    // oos&st& "r&5)&st" +&ntr) a 'iti HTTP *&a?&rs 1&>. 'ooi&s6

    // si HTML or( ?ata

    // oos&st& "r&s+ons&" +&ntr) s+&'ii'ar&a ini&i HTTP ?& ras+)ns si *&a?&rs

    // 1&>. 'ont&nt t8+&, 'ooi&s6.

    PrintWrit&r o)t : r&s+ons&.2&tWrit&r167

    // oos&st& "o)t" +&ntr) a tri(it& 'ontin)t 'atr& ;ros&r

    Pentru a :i servlet> o clasa trebuie sa e7tina HttpServlet si sa suprascrie oMet sauoPost (sau a6anoua)> epin+an e sunt este tri6ise atele> prin MKT sau PST. Aceste

  • 5/24/2018 Coarfa Stefan

    15/33

    6etoe au 2 argu6ente@ unul HttpServlet8eLuest si unul HttpServlet8esponse.HttpServlet8eLuest are 6etoe care per6it a:larea unor in:or6aii ca atele unui 8">HTTP heaers> si altele. HttpServlet8esponse are 6etoe care iti per6it sa speci:ici linia eraspuns HTTP (299> 9> etc.)> heaerele e raspuns (('ontent0T#pe> Set0'oo/ie> etc.)>si cel

    6ai i6portant> te lasa sa obtii un obiect Print4riter :olosit pentru raspunsul catre client.Pentru servleturile si6ple> cel 6ai 6are e:ort este :acut la scrierea instructiunilor println caregenerea+a pagina orita. e notat ca oMet si oPost VaruncaV oua e7ceptii si eci trebuieincluse in eclaratii. Trebuie e ase6enea i6portate clasele in ava.io (pentru Print4riter>etc.)> ava7.servlet (pentru HttpServlet> etc.)> si ava7.servlet.http (pentru HttpServlet8eLuestsi HttpServlet8esponse). *n s:arsit> e notat ca oMet si oPost sunt apelate e 6etoaservice si uneori s0ar putea sa vrei sa o suprascrii> e e7e6plu in ca+ul in care servletultrebuie sa trate+e a6bele cereri 0 MKT si PST.

    2$@$/$/ n servlet simplu care genereaza textIata )n s&r&t si(+) 'ar& 2&n&r&aa t&>t. Ur(atoar&a s&'ti)n& a arata 'a) '& (ai ))a

    ?& 2&n&rar& HTML.HelloWorld.java

    +a'a2& *a7

    i(+ort aa.io.=7

    i(+ort aa>.s&r&t.=7

    i(+ort aa>.s&r&t.*tt+.=7

    +);i' 'ass H&oWor? &>t&n?s Htt+$&r&t @

    +);i' oi? ?oA&t1Htt+$&r&t9&5)&st r&5)&st,Htt+$&r&t9&s+ons& r&s+ons&6

    t*ros $&r&tE>'&+tion, IOE>'&+tion @

    PrintWrit&r o)t : r&s+ons&.2&tWrit&r167

    o)t.+rintn1"H&o Wor?"67

    2$@$/$@ Compilarea si instalarea servletului

    e notat ca etaliile speci:ice instalarii servletului varia+a e la un server 4eb laaltul. 'auta in ocu6entatia serverului 4eb pe care il :olosesti. e e7e6plu> in Java 4eb

    Server (J4S) 2.9 servleturile trebuie sa :ie intr0un irector nu6it servlets. ricu6> a6 plasatacest servlet intr0un pac/age separat (hall) pentru a evita con:lictul cu alte servleturi e peserverO acelasi lucru trebuie sa0l :aci si tu aca :olosesti un server 4eb utili+at si e altii sicare nu are o in:rastructura buna pentru Vvirtual serversV pentru a preveni aceste con:licteauto6at.

    Ast:el> Hello4orl.ava este intr0un subirector nu6it hall in irectorul servlets. enotat ca setup0ul pe alte servere este si6ilra> e7e6plele e servleturi si JSP au :ost testate:olosin si IKA 4eb%ogic si *I" 4ebSphere 3.9. 4ebSphere are un 6ecanis6 e7celent

    pentru servere virtuale si nu e nevoie e :olosirea e pachete pentru prevenirea con:lictelor.

    ricu6> aca veti scrie servleturi estul e 6ulte (sa +ice6 pentru site0uri e0co66erce) estebine sa aveti o structura e irectoare oronata.

  • 5/24/2018 Coarfa Stefan

    16/33

    aca nu ai 6ai :olosit pachete pana acu6> sunt oua 6oalitati e a co6pila claselecare sunt in pachete. 6etoa este setarea '%ASSPATH pe irectorul i6eiat pre6ergatorierarhic irectorului pachetului tau. Poti co6pila nor6al in interiorul acestui irector. ee7e6plu> aca irectorul e ba+a este '@^Java4ebServer^servlets si nu6ele pachetului tau (si

    al subirectorului ) este hall> si esti 4inows> :aci asa@SG set '%ASSPATH\'@^Java4ebServer^servletsOF'%ASSPATHFSG c '@^Java4ebServer^servlets^hallSG avac _ourServlet.avaPri6a parte cu setarea '%ASSPATH> probabil o vrei per6anenta 6ai egraba> ecat

    sa stai sa o sete+i e :iecare ata. *n 4inows !C pui Vset '%ASSPATH\...V in :isierulautoe7ec.bat upa linia care setea+a '%ASSPATH spre servlet.ar an sp.ar. *n 4inows

    BT> 6ergi pe Start 6enu> selectea+a Settings> selectea+a 'ontrol Panel> selectea+a S#ste6>selectea+a Knviron6ent> si apoi introu variabila si valoarea. aca pachetul tau ar :i e :or6a

    nu6e1.nu6e2.nu6e3 in loc e nu6e1 ca aici> tot ai '%ASSPATH spre irectorul raacina alierarhiei (cel care contine na6e1).

    a oua 6etoa e co6pilare a clasleor a:late in pachete este po+itionarea peirectorul a:lat 6ai sus ecat cel in care se a:la servleturile> si apoi :a Vavacirector#^_ourServlet.avaV (4inows> Atentie bac/slash) sau Vavacirector#C_ourServlet.avaV (5ni7> Atentie :orwar slash). %a :el> e e7e6plu> acairectorul e ba+a este '@^Java4ebServer^servlets si nu6ele pachetului tau (si alsubirectorului ) este hall> si esti 4inows> :aci asa@

    SG c '@^Java4ebServer^servlets

    SG avac hall^_ourServlet.ava*n 4inows> 6aoritatea versiunilor e JY 1.1 ale avac necesita un bac/slash> si nu

    un :orwar slash> upa nu6ele irectorului . Asta este posibil in JY 1.2> ar eoarece 6ulteservere 4eb sunt con:igurate sa :oloseasca JY 1.1> 6ulti autori e servleturi ra6an pe JY1.1 pentru portabilitate.

    *n s:arsit> o lat optiune avansata este sa tine6 coul sursa intr0o locatie istincta ecea a :isierelor D.class si sa :olosi6 optiunea V0V a avac pentru a le instala in locul une leasteapta serverul 4eb.

    2$@$/$B -ularea servletului*n Java 4eb Server> servleturile sunt plasate in irectorul servlets in raport cu

    irectorul principal al J4S> si sunt invocate prinhttp@CChostCservletCServletBa6e. Atentie irectorul este servlets> plural> in ti6p ce

    58%0ul se re:era prin servlet> singular. eoarece acest e7e6plu a :ost plasat in pachetul hall >el va :i invocat prin [email protected].

    Alte servere 4eb pot i:eri estul e 6ult in ceea ce priveste conventiile e instalareale servleturilor si cu6 trebuie invocate acestea. "ulte in servere te lasa sa e:inesti aliasuri

    pentru servleturi> asa incat servleturile pot :i invocate prin http@CChostCan#0pathCan#0:ile.ht6l.

    Proceeul e lucru in acest 6o este speci:ic serveruluiO veri:ica ocu6entatia care insoteste/itul serverului 4eb.

  • 5/24/2018 Coarfa Stefan

    17/33

    2$@$/$ Servlet care genereaza !"M#

    "area 6aoritate a servleturilor generea+a HT"%> si nu te7t si6plu ca in e7e6plulanterior. Pentru a :ace asta> trebuie aaugati oi pasi esentiali @ anuntarea browserului ca iitri6iti inapoi HT"%> si 6oi:icarea instructiunilor println pentru a construi o pagina HT"%

    corecta. Pri6ul pas este :acut prin setarea heaerului e raspuns 'ontent0T#pe. *n general>heaerele pot :i setate prin setHeaer 6etoa a HttpServlet8esponse> ar setarea tipului econtinut este un lucru atat e u+ual incat ave6 o 6etoa speciala set'ontentT#pe oar pentruacest scop. Heaerul e raspuns trebuie setat inainte e returnarea oricarui continut prinPrint4riter. K7e6plu@

    HelloWWW.java+a'a2& *a7

    i(+ort aa.io.=7

    i(+ort aa>.s&r&t.=7

    i(+ort aa>.s&r&t.*tt+.=7

    +);i' 'ass H&oWWW &>t&n?s Htt+$&r&t @

    +);i' oi? ?oA&t1Htt+$&r&t9&5)&st r&5)&st,

    Htt+$&r&t9&s+ons& r&s+ons&6

    t*ros $&r&tE>'&+tion, IOE>'&+tion @

    r&s+ons&.s&tCont&ntT8+&1"t&>t/*t("67

    PrintWrit&r o)t : r&s+ons&.2&tWrit&r167

    o)t.+rintn1"

  • 5/24/2018 Coarfa Stefan

    18/33

    aca :olosesti 4inows ca siste6 e operare> gasi unele sugestii re:eritoare lasugestiile e 6ai sus in subcapitolul 1.2.3.

    ;o6 incepe prin a scrie un :oarte rui6entar (ar :unctionabil) progra6 in PHP careva prelua atele intr0un :or6ular si ti le vor tri6ite printr0un 6esa e6ail. Acest script este

    po6enit aesea sub enu6irea e script or6"ail.Trebuie sa presupun ca ai unele cunostinte e :olosire a HT"%> alt:el acest tutorial va

    s:arsi prin a eveni plicticos e lung.Pentru aceia intre voi care aveti cunostinte avansate e progra6are> acesta este un

    :el e progra6 VHello 4orlV> ar cu 6ult 6ai :olositor

    Pasul 2 0 Scrierea :or6ularului e introucere a atelorPri6ul lucru pe care trebuie sa0l :ace6 este sa scrie6 chiar :or6ularul e introucere

    a atelor. Puneti ur6atorul co in sectiunea I_ a unui :isier HT"% enu6it> sa

    presupune6> :eebac/.ht6l.E8" 6etho\post action\Vsen6ail.php3VGK6ail@ E*BP5T na6e\Ve6ailV t#pe\Vte7tVGEbrG"essage@EbrGETKTA8KA na6e\V6essageVGECte7tareaGEbrGEinput t#pe\sub6itGEC8"G*n principiu> :or6ularul ii cere vi+itatorului aresa e e6ail (ca6pul nu6it Ve6ailV

    care se gaseste in coul e 6ai sus sub :or6a e V*BP5T na6e\e6ailV) si un 6esa (ca6pulnu6it V6essageV care se gaseste in acelasi co sub :or6a e VTKTA8KA na6e\6essageV)>si ii pre+inta un buton pe care trebuie sa apese pentru a tri6ite atele in :or6ular. 'an

    butonul este apasat> atele sunt VpostateV (ve+i atributul V6ethoV in carul etichetei8").

    Pasul 3 0 Progra6ul PHP e culegere a atelorAcu6 tot ce a ra6as e :acut este e a scrie :isierul Vsen6ail.php3V. Acest :isier este

    :acut e7tre6 e si6plu> :olosin :acilitatile isponibile in PHP. Salvati coul ur6ator intr0un

    :isier enu6it Vsen6ail.php3V. Bu puneti ni6ic altceva in acest :isier> aica nu puneti nici oalta eticheta sau antet HT"%> etc.

    E6ail( V#ourna6ed#ouro6ain.co6V> Veebac/ or6 8esultsV>

    [6essage> Vro6@ [e6ailV )Oheaer( V%ocation@ http@CCwww.#ouro6ain.co6Cthan/#ou.ht6lV )OG'an atele sunt tri6ise progra6ului sen6ail.php3> continutul ca6pului Ve6ailV

    este atribuit unei variabile PHP enu6ita [e6ail. *n 6o ase6anator> continutul ca6pului

    V6essageV este atribuit variabilei [6essage.

  • 5/24/2018 Coarfa Stefan

    19/33

    Tot ceea ce progra6ul :ace> este sa apele+e o :unctie speciala enu6ita sugestivV6ailV> care e :apt se ocupa e tri6iterea 6esaul prin e6ail. Pri6ul para6etru al :unctieiV6ailV este aresa e e6ail la care oresti sa se tri6ita atele in :or6ular> aica propria taaresa e e6ail. Al oilea para6etru este VSubectV si repre+inta subiectul 6esaului e6ail.

    5lti6ii oi para6etrii sunt continutul 6esaului si orice alte antete pe care vrei sa le tri6iti.;re6 sa tri6ite6 un antet Vro6V pentru a stii cine ne0a tri6is atele si pentru a0i putearaspune aca vo6 avea nevoie.

    8etine ca> ase6enea 6ultor alte li6bae e progra6are> sirurile (secventele ecaractere) sunt eli6itate e ghili6ele> ca e e7e6plu Veebac/ or6 8esultsV.

    ;ariabilele precu6 [6essage pot :i :olosite in :or6a in care sunt atribuite. 8etine ease6enea ca poti interpola continutul unei variabile> e e7e6plu [e6ail> intr0un sir ca Vro6@[e6ailV> ast:el incat aca variabila [e6ail contine o aresa ca oed#ahoo.co6> sirul :inalcare este atribuit :unctiei V6ailV este e :apt Vro6@ oed#ahoo.co6V.

    Poti e ase6enea sa :olosesti apostro: (ca in ]Salut]) pentru a eli6ita sirurile> arcan vei procea asa> variabilele incluse nu vor :i interpretate. Aceasta proceura este:olositoare aca> pentru un anu6it 6otiv> chiar oresti sa trans6iti :unctiei V6ailV sirulVro6@ [e6ailV :ara ca PHP sa o interprete+e in Vro6@ oed#ahoo.co6V.

    *n :inal> este aecvat sa0i 6ultu6esti vi+itatorului pentru 6esaul tri6is. Pentru a :aceacest lucru> tri6ite6 inapoi catre browser0ul acestuia un antet HTTP> care ii trans6ite

    progra6ului sa incarce un :isier enu6it Vthan/#ou.ht6lV e pe site0ul tau. unctia VheaerVne per6ite sa tri6ite6 inapoi catre browser0ul vi+itatorului orice antet HTTP.

    esigur vei crea un :isier enu6it in 6o corespun+ator Vthan/#ou.ht6lV cu un 6esa

    pentru a 6ultu6i vi+itatorului tau pentru e:ortul epus> alt:el vi+itatorul va :i inta6pinat upatri6iterea 6esaului sau e o eroare V9Cile Bot ounV (9Cisierul nu a :ost gasit). ease6enea va trebui sa inlocuiesti aresa site0ului si cea e e6ail cu cele corecte aca vei orisa :olosesti acest progra6 in carul paginilor site0ului tau.

    Apropo> progra6ul trebuie sa :ie eli6itat e etichetele VEV si VGV pentru cainterpretorul PHP tratea+a toate intrarile rept co HT"% aca nu i se speci:ica altceva. Peunele siste6e> se poate sa :ii nevoit sa :olosesti VEphpV si VGV rept etichete e eschieresi e inchiere pentru ca progra6ul sa :unctione+e in 6o corect.

    A :ost usor> nu0i asa 'u oar cateva linii e co> toc6ai ai scris pri6ul tau script

    PHP.

    1.3. Perl

    aca pe aceeasi 6asina au :ost instalate si 6oulele e PK8% 6entionate 6ai sus> totce 6ai trebuie pentru a putea publica intr0o pagina HT"% (pe 444) este un web server(incetatenit este Apache) si unul sau 6ai 6ulte scripturi 'M* in PK8%.

    Subiectul 'M* progra66ing este vast> pornin e la alegerea li6baului eprogra6areCscripting sau a serverului e aplicatie care va procesa practic aplicatiile 'M*> si

    ter6in

  • 5/24/2018 Coarfa Stefan

    20/33

    A6inistratorii e siste6 si progra6atorii 'M* e7peri6entati stiu ca e securitateaunui script 'M* poate epine securitatea 6asinii pe care acesta rulea+a.

    Pentru si6plitate> este pre+entat un script PK8% rui6entar care se conectea+a lam%s1ld:olosin userul user si parola parola (trebuie o pereche userna6eCpasswor valia

    pentru m%s1ldpe 6asina server> alt:el scriptul nu se va putea conecta la ba+a e ate) si :aceun SK%K'T si6plu asupra tabelului acturare (escris in subcapitolul "#SLl :or %inu7).

    WCusrCbinCperl WLuer#.cgi 0 e7e6plu PerlC"#S$% use I*O[bh \ I*0Gconnect(]bi@6#sLl@'lienti]>]user]>]parola])OWpregateste si e7ecuta state6ent S$% [sLlstate6ent\VSK%K'T

    Bu6eZ'lient>K6ailZ'lient 8" acturareVO[sth \ [bh0Gprepare([sLlstate6ent)O[sth0Ge7ecute ie VBu se poate e7ecuta instructiunea S$%...VOWscrie la stout re+ultatele e7trase in ba+a e ate print V'ontent0T#pe@

    te7tCht6l^n^nVOprint VEht6lG^nEheaGEtitleGPagina e6oECtitleGECheaG^nEbo#GEiv

    align\centerG^nVOwhile (drow\[sth0G:etchrowZarra#) print Vdrow^nEbrGVO

    print VECivGECbo#GECht6lGVO

    Acest script se copia+a in irectorul cgi0bin al serverului web. Pentru a putea :ie7ecutat e ae6onul http> se setea+a corespun+ator per6isiunile@ shellG ch6o ,!!Luer#.cgi A:isarea re+ultatelor in browser se :ace si6plu> acces in :unctie e optiuni) e oriune in*nternet> e e7e6plu e pe orice calculator otat cu 6oe6 si care are acces la *nternet

    printr0un si6plu cont e ial0up.

    1.3.! "#S$%

    5tilitatea publicarii pe 444 in ba+e e ate apare> printre altele> pentruco6paniile care au seii> epo+ite sau puncte e lucru ispuse in iverse locatii geogra:iceistincte> une accesul la *nternet este totusi isponibil pe ba+a unui cont e ial0up.

    Aceste co6panii pot ori> e e7e6plu> ca o ba+a e ate centrala a :ir6ei sa :ieaccesibila pe web angaatilor sai> care sa introuca si sa e7traga unele ate a:erenteoperatiunilor +ilnice.

    8aportarea sau introucerea atelor se poate :ace i:erentiat> in :unctie e privilegiileper utili+ator> si intr0o 6aniera sigura> i6pieic aca se alegsolutii e securi+are potrivite.

    'ostul :inal al unei aplicatii e acest tip este co6pus nu6ai in tari:ul perceput pentruservicii e web hosting e catre orice *nternet Service Provier si e costul e e+voltare

  • 5/24/2018 Coarfa Stefan

    21/33

    *n continuare vo6 crea o ba+a e ate> :olosin "#S$%0ul e %inu7. A6 insistatasupra acestei versiuni> pentru si6plu :apt ca acest SMI este 6ult 6ai intalnit intr0un6eiu %inu7.

    2$@$$2 M%S for #inuxAcest subcapitol a :ost e+voltat intr0un 6eiu %inu7 si necesita in partea cititorului

    nu6ai cunostinte e ba+a espre %inu7> Perl si ba+e e ate in general. e ase6enea>etaliile tehnice re:eritoare la "#S$% se aplica in orice 6eiu e tip 5ni7 si in 4inows.

    "oelul e securitate :olosit e "#S$% se ba+ea+a pe userna6eCpasswor> hostna6esi privilegii si este si6ilar celui generic :olosit e siste6ele 5ni7. Prin privilegii se inteleg inca+ul "#S$% operatiunile ce vor :i per6ise asupra ba+eiCba+elor e ate> tabelelor sauinecsilor> cu6 sunt e e7e6plu SK%K'T> *BSK8T> 5PATK> K%KTK> '8KATK> 8P.

    'rea6 o ba+a e ate@

    shellG6#sLl Nu root Np6#sLlGcreate atabase 'lientiO6#sLlGuse 'lientiO

    Acor utili+atoruluiului user cu parola parola care se conectea+a la serverul"#S$% e pe orice 6asina in reteaua .retea0sigura.net reptul e a :ace SK%K'T pe oricetabele in ba+a e ate 'lienti@

    6#sLlGM8ABT SK%K'T B 'lienti.D T userd]F.retea0sigura.net] *KBT**KI_ ]parola]O

    olosirea M8ABT si 8K;YK este noti:icata serverului i6eiat si> spre eosebire eacorarea e privilegii cu 5PATK sau *BSK8T> nu necesita o co6ana ulterioara e tip%5SH P8*;*%KMKS 0 care spune serverului sa reciteasca tabelele e per6isiuni.

    Pe e alta parte@

    6#sLlGM8ABT A%% P8*;*%KMKS B 'lienti.D T gigidlocalhost *KBT**KI_ ]parolaZlunga]O

    o:era puteri plenipotentiare user0ului gigi> ar nu6ai e la consola serverului.

    'rearea 'lienti si recitirea tabelelor e privilegii prin %5SH P8*;*%KMKS sepoate :ace si cu 6#Lsla6in. 8evocarea privilegiilor acorate se :ace :olosin e7plicit8K;YK sau prin scrierea irecta in tabelele e repturi (6#sLl.user> 6#sLl.b> 6#sLl.host>

    6#sLl.tablesZpriv si 6#sLl.colu6sZpriv).

  • 5/24/2018 Coarfa Stefan

    22/33

    Pentru o i6agine co6pleta asupra 6oului in care :unctionea+a 6oelul e securitate"#S$%> este obligatorie citirea cu atentie a paginilor respective in 6anual.

    Pentru securi+area atelor si a accesului la 6#sLl se reco6ana i6ple6entarea

    politicilor speci:ice necesare> instru6entele :urni+ate e "#S$% :iin oar o parte in intreg.

    oua tabele si6ple K7e6plul ales pre+inta 6oalitatile e creare si utili+are a ouatabele si6ple in "#S$%> tabele enu6ite acturare si acturi. etaliile legate e ceea cese nu6este ata 6oelling nu sunt necesare pentru e7e6plul si6plu al acestei aplicatii.'ontinutul si structura tabelelor acturare si acturi :olosite in e7e6plul nostru sunt

    pre+entate in :igurile 1 si 2 si> respectiv> in :igurile 3 si .

    Bu6eZ'lient K6ailZ'lient actura Total Platitir6a1 :ir6a1disp.ro 9299111191 !9.999 air6a2 :ir6a2disp.ro 9299111192 &!9.99ir6a3 :ir6a3disp.ro 9299121193 29.99 air6a :ir6adisp.ro 929912,192 !9.99

    ig. 1.3.3.1.1 'ontinutul tabelului acturare.

    Bu6eZ'a6p TipZ'a6p Poate :i nulBu6eZ'lient Te7t Bu

    K6ailZ'lient Te7t Buactura *nteger BuTotal 8eal BuPlatit Ioolean aig. 1.3.3.1.2 Structura tabelului acturare

    Sinta7a pentru crearea tabelului acturare@ 6#sLlG'8KATK TAI%K acturare(Bu6eZ'lient 'HA8(2!!) BT B5%%> K6ailZ'lient 'HA8(2!!) BT B5%%> actura*BTKMK8 BT B5%%> Total K'*"A%(&>2) BT B5%%> Platit T*B_*BT B5%%> *BK

    *ZA'T58A (actura))Oactura re 8ata9299111191 1 !99299111192 11 &!99299121193 1&.2 29929912,192 1 !9ig. 1.3.3.1.3 'ontinutul tabelului acturi.

    Bu6eZ'a6p TipZ'a6p Poate :i nul

    actura *nteger Bure 8eal Bu

  • 5/24/2018 Coarfa Stefan

    23/33

    8ata 8eal Buig. 1.3.3.1. Structura tabelului acturi.

    Sinta7a pentru crearea tabelului acturi@ 6#sLlG'8KATK TAI%K acturi (actura

    *BTKMK8 BT B5%%> re K'*"A%(>2) BT B5%%> 8ata K'*"A%(&>2) BTB5%%> *BK *ZA'T58A (actura))O

    'rearea corecta a celor oua tabele se veri:ica prin@6#sLlGshow tablesO6#sLlGescribe acturareO6#sLlGescribe acturiO

    5ncarcarea datelor*ncarcarea atelor in tabelele proaspat create se :ace> printre alte6etoe> :olosin co6ana %A ATA *B*%K> cu conitia ca atele sa :ie in prealabile7istente in :isiere te7t> eli6itate e caracterele tab sau >.

    eli6itatorul i6plicit recunoscut e %A ATA *B*%K este tab> eci in ca+ulunui :isier :acturare.t7t ce contine atele in tabelul acturare eli6itate prin tab> sinta7ava :i@

    6#sLlG%A ATA *B*%K VCcaleaCcatreC:acturare.t7tV *BT TAI%K acturare*MB8K 1 %*BKSOSi6ilar@

    6#sLlG%A ATA *B*%K VCcaleaCcatreC:acturi.t7tV *BT TAI%K acturi*MB8K 1 %*BKSO

    Pentru alti eli6itatori a se veea optiunea *K%S TK8"*BATK I_ in sinta7a

    co6en+ii %A ATA *B*%K.e 6entionat ca optiunea *MB8K 1 %*BKS eter6ina i6portul in :isierul te7t in

    tabelul in ba+a e ate a tuturor atelor 6ai putin pri6ul r care ingeneral este heaer0ul tabelului> e7istent ea in tabelul creat in ba+a e ate. in 6otive esecuritate> c acestea trebuie sa se a:le ori in irectorul

    ba+ei e ate (varClibC6#sLlC'lienti) sau sa aiba repturi e readpentru all. e ase6enea>privilegiul :ile trebuie sa e7iste pe server.

    *n ca+ul nostru> pentru si6plitate> se copia+a :isierele :acturi.t7t si :acturare.t7tin CvarClibC6#sLlC'lienti si se i6porta in acest irector.

    Se veri:ica prin@6#sLlG select D :ro6 acturiO6#sLlG select D :ro6 acturareO

    *n acest 6o6ent> 6#sLl poate :urni+a in:or6atii in tabelele ba+ei e ate 'lienti.K7punerea atelor pe 444 se va :ace in subcapitolele ur6atoare in :unctie e so:tul

    e care bene:icie6 (perl> php> sp).

    6oalitate 6ai si6pla -i 6ai util= e a crea ba+e e ate este e a :olosi inter:aavi+ual= o:erit= e c=tre :ir6a BuSphere ([email protected]).

    http://www.nusphere.com/http://www.nusphere.com/
  • 5/24/2018 Coarfa Stefan

    24/33

    2$@$$/ M%S for Windo9s

    6oalitate 6ai si6pl= -i 6ai util= e a crea ba+e e ate este e a :olosi inter:aavi+ual= o:erit= e c=tre :ir6a BuSphere ([email protected]).

    Pentru a crea ba+a e ate in subcapitolul 1.3.!.2> :olosi6 acela-i scenariu ar eata aceasta ata :olosin aplicaia Php"#A6in al pachetului BuSphere.

    ig. 'aptur= *6agine Aplicaie Php"#A6in

    $ %aga&in 'irtual

    Acest capitol a ap=rut ca ur6are a necesit=ii ?nv==rii unor anu6ii pa-i ine+voltarea unei aplicai web cu ba+e e ate. A6 enu6it acest capitol Q"aga+in ;irtualR>oar pentru si6plul :apt c= aplicaia pe care o vo6 i6ple6enta poarta nu6ele "aga+in;irtual.

    Pentru i6ple6entarea acestei aplicaii a6 :olosit o plat:or6a 4inows (ar sepoate :olosi la :el e bine si 4inos 2999> BT> sau "K)> -i a6 instalat pachetul e progra6eBuSphere (a6 iscut espre acest pachet in capitolul 1.2.3> seciunea 8eco6anare) [email protected]. Acest so:t se va instala in irectorul Progra6 iles e pe iscul cu

    siste6ul e operare. *n 6area 6aoritate a ca+urilor acest isc este iscul '@. Pentru pornireaserv=rului Apache -i a servarului "#S$% lansa6 in STA8T 0G P8M8A"S 0G

    B5SPHK8K 0G Start BuSphereSa6ple site.

    http://www.nusphere.com/http://www.nusphere.com/http://www.nusphere.com/http://www.nusphere.com/
  • 5/24/2018 Coarfa Stefan

    25/33

    ig. Pagina e start al aplicaiei BuSphereAcu6a se va starta cele oua serv=re -i se va eschie o :ereastra e browser ce va

    ?ncarc= pagina noului server instalat.*n aceasta :ereastra> vo6 avea ?n partea st P8*"A8_ YK_ (i)

    )O'8KATK TAI%K subcategories( i S"A%%*BT 5BS*MBK BT B5%% A5TZ*B'8K"KBT>

  • 5/24/2018 Coarfa Stefan

    26/33

    /e#Zcat S"A%%*BT 5BS*MBK BT B5%%>na6e 'HA8(&9) BT B5%%>

    P8*"A8_ YK_ (i))O

    '8KATK TAI%K proucts(

    /e#Zcat S"A%%*BT 5BS*MBK BT B5%%>/e#Zsubcat S"A%%*BT 5BS*MBK BT B5%%>na6e char(&9)>coe char(32)>i6age 6eiu6blob BT B5%%>

    price int(11) BT B5%%> si+e char(29)>

    color char(29)> escription char(2!!) BT B5%% )O

    *n :ereastra e browser e 6ai os> vo6 crea ba+a e ate shop2@

    ig. Aplicaia php"#A6inPasul ur6=tor> up= ce a6 creat ba+a e ate shop2> este e a crea tabelele escrise

    6ai sus> -i anu6e categories cu 2 ca6puri> subcategories cu 3 ca6puri -i proucts cu c

  • 5/24/2018 Coarfa Stefan

    27/33

    ig. 'onstruirea Tabelelor cu autorul aplicaiei php"#A6in;a trebui sa construi6 c

  • 5/24/2018 Coarfa Stefan

    28/33

    upa ce a6 creat ba+a e ate (:ig. )> va trebui sa scrie6 scripturile necesareinterog=rii ba+ei e ate shop2. Aceste scripturi sunt isponibile la [email protected].+ip> sau aca scriei la aresa ste:anZcoar:ad#ahoo.co6> curug=6intea e a pri6ii scripturile. fn c

  • 5/24/2018 Coarfa Stefan

    29/33

    ig. Structura e irectoare e care pentru aplicaia shop2-i vei pune scripturile pe care le obinei prin 6etoele 6ai sus 6enionate.8e+ultatul rul=rii acestor scripturi (in :ereastra e browser introucei lin/0ul

    http@CClocalhostCshop2) se poate observa ?n :igura e 6ai os@

    ig. Pre+entarea "aga+inului ;irtual creat (i6agine)

    http://localhost/shop2http://localhost/shop2
  • 5/24/2018 Coarfa Stefan

    30/33

    in cau+a :aptului ca ba+a e ate este vi=> in partea st subcategorii -iarticole. Pentru a aauga o noua Subcategorie > va trebui sa alege6 categoria in care :ace

    parte (in acel co6bobo7)> -i s= introuce6 nu6ele subcategoriei.

    ig.A=ugare SubcategoriePentru a a=uga un alt Articol> va trebui sa alege6 categoria in care :ace parte>

    subcategoria> precu6 -i caracteristicile acelui prous (co> nu6e> etc).

  • 5/24/2018 Coarfa Stefan

    31/33

    ig. A=ugare Articol

    up= cu6 se poate observa in :igura e 6ai sus> ave6 la ?ne6

  • 5/24/2018 Coarfa Stefan

    32/33

    ig. *nterogarea ba+ei e ate -i a:i-area Subcategoriilor 'o6eiein carul categoriei il6e

    Tot ceea ce trebuie :=cut este sa va aco6oai cu noul 6aga+in virtual -i s= v= pornii

    propria a:acere.

    A#rese (tile

    1. [email protected]#sLl.co6 Site0ul o:icial "#S$% T.c. ataYonsult2. http@CCbi6#sLl.photo:lu7.co6C PK8%CI* X "#S$%3. [email protected]:ace.ht6l VThe 'M* Speci:icationV. [email protected] Apache So:tware ounation!. [email protected] ocu6entatie Perl

    &. [email protected] 8o6anian %inu7 5sers Mroup,. [email protected] BuSphere. [email protected] ocu6entatie -i so:t php. http@CCa/arta.apache.orgC 0 Apache To6cat19. http@CC:reeware.thesphere.co6C 0 Sun]s Java 4eb Server11. [email protected] 0 Allaire Jrun12. [email protected] 0 JavaServer 4eb evelop6ent

    Yit13. [email protected] 0 Bew Atlanta]s ServletK7ec

    1. [email protected]:ionso:tware.co6C 0 Me:ion]s %ite4ebServer

    http://www.nusphere.com/http://www.php.net/http://jakarta.apache.org/http://freeware.thesphere.com/http://www.allaire.com/products/jrun/http://java.sun.com/products/servlet/download.htmlhttp://newatlanta.com/http://www.gefionsoftware.com/http://www.nusphere.com/http://www.php.net/http://jakarta.apache.org/http://freeware.thesphere.com/http://www.allaire.com/products/jrun/http://java.sun.com/products/servlet/download.htmlhttp://newatlanta.com/http://www.gefionsoftware.com/
  • 5/24/2018 Coarfa Stefan

    33/33

    o6nul ing. 'A8 *oan0te:an> s0a n=scut ?n anul 1,& la Sibiu> u. Sibiu. A absolvitacultatea e *nginerie> secia e 'alculatoare a 5niversit=ii Q%ucian IlagaR in Sibiu ?nanul 2999> -i a absolvit cursurile e Stuii Apro:unate in tiina Siste6elor Paralele -iistribuite ?n anul 2991 la aceea-i universitate> cu lucrarea Siste6e e Transco=ri in Java.Actual6ente este angaat al :ir6ei "ulti6eia 'apital 8o6ania S8%> cu capital integralnorvegian> -i colaborator al 5niverist=ii Q%ucian IlagaR. o6enii e interes N tehnologii

    ava -i siste6e istribuite.