Prezentare: Web Application Integration Mihnea Simian – 313CC 14.01.2008
<ul><li>Webscripting </li></ul><ul><ul><li>Client-side: JavaScript, ActionScript (flash)‏ </li></ul></ul><ul><ul><ul><li>I...
Studiu de caz: PHP <ul><li>Ruleaza ca proces de obicei sub userul “nobody”, grupul “nogroup” prin care realizeaza operatii...
Mai mult! Cum? <ul><li>Nevoia unor operatii ample care depasesc capabilitatile scriptingului </li></ul><ul><ul><li>Exemple...
Apelarea aplicatiei <ul><li>Executie manuala </li></ul><ul><li>Rularea ca daemon (background process)‏ </li></ul><ul><li>P...
Functii de SO in PHP <ul><li>resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, ...
Exemplu
Teasing <ul><li>Diverse comenzi (de ex. listarea fisierelor) lansate pe calculatorul (serverul web) de acasa, printr-un s...
Anexa: Lansare aplicatii pe client Windows <ul><li>HKEY_CLASSES_ROOTymsgrshellopencommand </li></ul><ul><li>cu valoarea </...
Cuvinte cheie <ul><li>script </li></ul><ul><li>client-side </li></ul><ul><li>server-side </li></ul><ul><li>php </li></ul><...
of 10

Prezentare USO - Web Application Integration

prezentare despre integrarea puterii de procesare a aplicatiilor standalone server/client-side in web, in spiritul cursului de Utilizarea Sistemelor de Operare.
Published on: Mar 4, 2016
Published in: Technology      
Source: www.slideshare.net


Transcripts - Prezentare USO - Web Application Integration

  • 1. Prezentare: Web Application Integration Mihnea Simian – 313CC 14.01.2008
  • 2. <ul><li>Webscripting </li></ul><ul><ul><li>Client-side: JavaScript, ActionScript (flash)‏ </li></ul></ul><ul><ul><ul><li>Interpretat de browser, pluginuri activex sau alte componente locale </li></ul></ul></ul><ul><ul><li>Server-side: PHP, CGI, ASP, Pearl </li></ul></ul><ul><ul><ul><li>Interpretat de un proces de pe serverul web care executa codul si transmite serverului web Apache outputul (x)html/xml  browserul clientului. </li></ul></ul></ul><ul><ul><ul><li>Avantaje: centralizarea taskurilor, accesul la resursele serverului, control absolut, portabilitate la nivel de client, protectia codului </li></ul></ul></ul>!#/bin/bash hello=“Hello World!” echo $hello !#/usr/bin/php $hello=“Hello World!”; echo $hello; <?php $hello=“Hello World!”; ?> Aici html <? echo $hello; ?> -vezi sectiunea 11.3.1.2 - Shebang
  • 3. Studiu de caz: PHP <ul><li>Ruleaza ca proces de obicei sub userul “nobody”, grupul “nogroup” prin care realizeaza operatii (comenzi) la nivelul shellului. </li></ul><ul><li>Exemple: functia get_cwd() (vezi cap Procese 4.1.3.1, /proc/pid/cwd), functiile de lucru cu fisiere – copy, unlink, functii de securitate – chown, chmod. </li></ul><ul><li>Multiple capabilitati, foarte flexibil, sintaxa similara cu C/C++, frecvent considerat limbaj de programare(?) – suport oop, declaratii si conversii tipuri de date, lucrul cu adrese, variable variables </li></ul><ul><li>Biblioteci (extensii) diverse – ex: php_exif_data, php_gd, php_mysql/mssql/innodb, </li></ul>
  • 4. Mai mult! Cum? <ul><li>Nevoia unor operatii ample care depasesc capabilitatile scriptingului </li></ul><ul><ul><li>Exemple: prelucrarea sofisticata a unor fisiere multimedia (youtube, deviantart), mass-mailere personalizate, servicii de retea, servicii de comunicatie (telefonie mobila)‏ </li></ul></ul><ul><li>Solutia: utilizarea unor aplicatii care vor rula pe server si vor satisface cererile clientului </li></ul>
  • 5. Apelarea aplicatiei <ul><li>Executie manuala </li></ul><ul><li>Rularea ca daemon (background process)‏ </li></ul><ul><li>Precum cronjob (scheduled task)‏ </li></ul><ul><li>La apelul scriptului web </li></ul>
  • 6. Functii de SO in PHP <ul><li>resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )‏ </li></ul><ul><li>string exec ( string $command [, array &$output [, int &$return_var ]] )‏ </li></ul><ul><li>string system ( string $command [, int &$return_var ] )‏ </li></ul><ul><ul><li>Procesul lansat are UIDul userului “nobody” </li></ul></ul><ul><ul><li>Fisierul sudoers poate fi editat pentru a asigura utilizatorului nobody permisiunile necesare </li></ul></ul><ul><ul><li>System si exec asteapta incheierea procesului, in timp ce proc_open ofera control absolut asupra procesului direct din script </li></ul></ul>
  • 7. Exemplu
  • 8. Teasing <ul><li>Diverse comenzi (de ex. listarea fisierelor) lansate pe calculatorul (serverul web) de acasa, printr-un script web </li></ul><ul><li>Un GUI-shell in browser, gen Windows Explorer </li></ul>
  • 9. Anexa: Lansare aplicatii pe client Windows <ul><li>HKEY_CLASSES_ROOTymsgrshellopencommand </li></ul><ul><li>cu valoarea </li></ul><ul><li> &quot;C:Program[..]YahooMessenger.exe&quot; %1 </li></ul><ul><li>Link de tip <a href=“ymsgr:actiune”>..</a> </li></ul><ul><li>Browserul interpreteaza protocolul linkului conform registrilor lansand cu parametru aplicatia corespunzatoare </li></ul><ul><li>Atentie! Practica este utilizata de situri Warez pentru a lansa malware pe sistemul clientului </li></ul>
  • 10. Cuvinte cheie <ul><li>script </li></ul><ul><li>client-side </li></ul><ul><li>server-side </li></ul><ul><li>php </li></ul><ul><li>extensii </li></ul><ul><li>proc_open </li></ul><ul><li>system </li></ul><ul><li>exec </li></ul><ul><li>descriptori </li></ul><ul><li>file pointer pipes </li></ul><ul><li>protocol </li></ul>

Related Documents