Sunteți pe pagina 1din 34

Securitate Web și

interacțiuni în timp real


Coordonator lucrare: Lect. Dr. Vasile Cioban
Absolvent: Suciu Alex-Daniel
Securitatea Web

HTTPS
Securitatea Web

HTTPS
Previne atacurile Man-in-the-Middle
Securitatea Web

HTTPS
Previne atacurile Man-in-the-Middle
Certificate SSL
CA (Certificate Authority)
Protocolul HTTPS
Securitatea Web

SQL Injection
Securitatea Web

SQL Injection
bind vs. concatenare de stringuri
my $SQL = ”SELECT * FROM users my $SQL = sprintf(
WHERE username = ?”; ”SELECT * FROM users
$sth = $dbh->prepare($SQL); WHERE username = ‘%s’
$sth->bind_value( AND password=‘%s’ ”,
1, $input_username $input_username,
); $input_password
$sth->execute(); );
Securitatea Web

SQL Injection
bind vs. concatenare de stringuri
Drepturi limitate pentru user-ul aplicației bazei de
date
Securitatea Web

 Upload-ul de fișiere
Securitatea Web

 Upload-ul de fișiere
 Limitarea dimensiunii fișierelor
Securitatea Web

 Upload-ul de fișiere
 Limitarea dimensiunii fișierelor
 Limitarea tipurilor de fișiere acceptate

<input type=“file” accept=“.jpg” />


Securitatea Web

 Upload-ul de fișiere
 Limitarea dimensiunii fișierelor
 Limitarea tipurilor de fișiere acceptate
 Validarea conținutului fișierului server-side
Securitatea Web

 Protejarea datelor sensibile


Securitatea Web

 Protejarea datelor sensibile


 Parole și conturi folosite de aplicație
Securitatea Web

 Protejarea datelor sensibile


 Parole și conturi folosite de aplicație
 Parole, sesiuni și date sensibile ale utilizatorilor
Interacțiuni real-time

 AJAX polling
Interacțiuni real-time

 AJAX polling

setInterval(
function() {
$.ajax( { url: “/get_data.html”,
success: function(response) { update_view(response) }
})
},
2000
);
Interacțiuni real-time

 Comet
Interacțiuni real-time

 Comet
 Ajax long polling
Interacțiuni real-time

 Comet
 Ajax long polling
 Serverul răspunde request-ului
doar când există actualizări
Interacțiuni real-time

 Comet
 AJAX long polling
 Serverul răspunde request-ului
doar când există actualizări
 Clientul trimite un request
imediat după primirea răspunsului
Interacțiuni real-time

 SSE (Server-Sent Events)


Interacțiuni real-time

 SSE (Server-Sent Events)


 Clientul trimite un request
Interacțiuni real-time

 SSE (Server-Sent Events)


 Clientul trimite un request
 Serverul trimite mesaje multiple
Interacțiuni real-time

 SSE (Server-Sent Events)


 Clientul trimite un request
 Serverul trimite mesaje multiple
 Clientul retrimite requestul
dacă cel anterior a căzut
Interacțiuni real-time

 WebSocket
Interacțiuni real-time

 WebSocket
 Conexiune de tip Socket,
prestabilită
Interacțiuni real-time

 WebSocket
 Conexiune de tip Socket,
prestabilită
 Clientul și serverul pot comunica în
orice moment
Utilizarea practică a aplicației
Utilizarea practică a aplicației

 Clienții pot vedea restaurantele din apropierea sa


Utilizarea practică a aplicației

 Clienții pot vedea restaurantele din apropierea lor


 Consultarea meniului online într-o locație
Utilizarea practică a aplicației

 Clienții pot vedea restaurantele din apropierea lor


 Consultarea meniului online într-o locație
 Comandă de la masă a clientului, fără a
interacționa cu ospătarul
Utilizarea practică a aplicației

 Clienții pot vedea restaurantele din apropierea lor


 Consultarea meniului online într-o locație
 Comandă de la masă a clientului, fără a
interacționa cu ospătarul
 Ospătarul poate prelua comenzi fără a se
deplasa la masa clientului
Vă mulțumesc pentru atenție!