Mediaframe

436 views

Published on

Programowanie obiektowe
SQL Injection

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
436
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Mediaframe

    1. 1. Programowanie Obiektowe
    2. 2. Plan <ul><li>Wprowadzenie </li></ul><ul><li>Co charakteryzuje klasy? </li></ul><ul><li>Abstrakcja </li></ul><ul><li>Obiektowy sterownik baz danych </li></ul>
    3. 3. Wprowadzenie <ul><li>Czy wszystko możemy </li></ul><ul><li>traktować jako obiekt? </li></ul>
    4. 4. Wprowadzenie Ssak (klasa) Człowiek Pies ... - jedzenie - picie - ... - płeć, - wiek, - wzrost, - inteligencja Jaś (obiekt) Asia (obiekt)
    5. 5. Co charakteryzuje klasy? <ul><li>Właściwości </li></ul><ul><li>Metody </li></ul><ul><li>Widoczność </li></ul><ul><li>Obiekty klasy </li></ul>Człowiek private wiek private płeć private wzrost public inteligencja public jestDorosly?() private jedz( Jedzenie posilek) private myslenie() private spij() private rosnij!( wartosc )
    6. 6. Abstrakcja <ul><li>Dlaczego “Ssak” jest klasą </li></ul><ul><li>abstrakcyjną? </li></ul>
    7. 7. Obiektowy sterownik baz danych <ul><li>abstract Database </li></ul><ul><ul><li>protected DSN </li></ul></ul><ul><ul><li>abstract public __toString() </li></ul></ul><ul><li>interface DatabaseDriver </li></ul><ul><ul><li>public connect() </li></ul></ul><ul><ul><li>public disconnect() </li></ul></ul><ul><ul><li>public query() </li></ul></ul><ul><li>class DatabaseMysqlDriver </li></ul><ul><ul><li>extends Database implements DatabaseDriver </li></ul></ul>
    8. 8. Obiektowy sterownik baz danych <ul><li>Wzorzec Factory </li></ul>
    9. 9. Wnioski <ul><li>Wszystko możemy traktować jako obiekt. </li></ul><ul><li>Podstawowe wzorce projektowe: </li></ul><ul><ul><li>Singleton </li></ul></ul><ul><ul><li>Factory </li></ul></ul><ul><ul><li>Iterator </li></ul></ul><ul><ul><li>Registry </li></ul></ul><ul><ul><li>MVC </li></ul></ul><ul><ul><li>Observer (JavaScript) </li></ul></ul><ul><li>Będą zastosowane we Frameworku! </li></ul>
    10. 10. Pytania?
    11. 11. SQL Injection
    12. 12. SQL Injection <ul><li>$pdo->query( “SELECT * FROM `users` WHERE `login`='” . $_POST['login'] . “'” ); </li></ul><ul><li>... </li></ul><ul><li>if( $data['password'] == md5( $_POST['pass'] ) </li></ul><ul><li>$_POST['login'] = “'; SELECT *, MD5('test') as `password` FROM `users` WHERE `login`='admin”; </li></ul><ul><li>$_POST['pass'] = “test”; </li></ul>
    13. 13. SQL Injection <ul><li>SELECT * FROM `users` WHERE `login`=''; SELECT *, MD5('test') as `password` FROM `users` WHERE `login`='admin' </li></ul><ul><li>No i mamy dane admina, a hasło pasuje! </li></ul>
    14. 14. Pytania?

    ×