Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PHP + MySQL część II.

Podobne prezentacje


Prezentacja na temat: "PHP + MySQL część II."— Zapis prezentacji:

1 PHP + MySQL część II

2 o MySQL raz jeszcze Zapytania do bazy
SELECT – do wyświetlania i wyszukiwania rekordów w wybranej tabeli INSERT – do wstawiania nowych rekordów do bazy UPDATE – do poprawy danych w istniejącym już rekordzie DELETE – do usuwania rekordów

3 Łączenie się z bazą MySQL z PHP
Musimy znać: Host serwera Użytkownika Hasło Nazwę bazy danych localhost root informer informer

4 Łączenie się z bazą MySQL z PHP
mysql_connect(“localhost”,”root”,”informer”); mysql_select_db(“informer”); mysql_connect($mysql_serwer,$mysql_user,$mysql_haslo); mysql_select_db($mysql_baza);

5 Podstawowe funkcje w PHP do MySQL'a
mysql_connect mysql_pconnect mysql_close mysql_query mysql_fetch_array mysql_num_rows mysql_real_escape_string

6 Przykładowe zapytanie z poziomu PHP
$wynik=mysql_query(“SELECT * FROM `studenci`;”); echo(“Jest “.mysql_num_rows($wynik).” studentów w bazie.”); SELECT COUNT(*) FROM `studenci`;

7 mysql_fetch_array + while
$wynik=mysql_query(“SELECT * FROM `studenci`;”); echo(“<p>Lista studentów z bazy:</p><ul>”); while($student = mysql_fetch_array($wynik)){ echo(“<li>”.$student['imie'].” “.$student['nazwisko'].”</li>”); } echo(“</ul>”);

8 Księga gości Formularz HTML Przetworzenie danych z POST Tabela MySQL
Do przechowywania wpisów

9 SELECT do wypisywania wpisów INSERT INTO do wpisywania
Księga gości SELECT do wypisywania wpisów INSERT INTO do wpisywania Wszystko ok? Nie do końca...

10 XSS (Cross-site scripting) Flood
Księga gości - błędy XSS (Cross-site scripting) Flood

11 System logowania + MySQL
START Wyświetl formularz logowania Zalogowany? TAK NIE NIE POST? TAK Uwierzytelnienie NIEPOPRAWNE POPRAWNE Wyświetl stronę dla zalogowanych Wyświetl komunikat o niepoprawnych danych

12 System logowania + MySQL
SELECT `admin` FROM `uzytkownicy` WHERE `login`='...' AND `haslo`='...'; if(mysql_num_rows($wynik)!=0) to OK! $_SESSION['zalogowany']=true; Czy administrator? Wszystko ok? Nie do końca...

13 Hacking systemu logowania
Login: ' OR 1='1 SELECT `admin` FROM `uzytkownicy` WHERE `login`='' OR 1='1' AND `haslo`='' OR 1='1'; Atak MySQL injection

14 Zabezpieczenie przed MySQL injection
mysql_real_escape_string intval sprintf

15 Przykład bezpiecznego zapytania
$imie=mysql_real_escape_string($_POST['imie']); $nazwisko=mysql_real_escape_string($_POST['nazwisko']); $sql=sprintf(“SELECT * FROM `studenci` WHERE `imie`='%s' AND `nazwisko`='%s';”, $imie, $nazwisko); $wynik = mysql_query($sql);

16 Hashowanie haseł PASSWORD() w MySQL md5()

17

18 dzialy (`id`, `tytul`, `tresc`) ustawienia (`opcja`, `wartosc`)
CMS Tabele: dzialy (`id`, `tytul`, `tresc`) ustawienia (`opcja`, `wartosc`) uzytkownicy (`login`, `haslo`, `admin`) news (`id`, `tytul`, `tresc`, `kto`, `kiedy`)

19 Zabezpieczenie naszej pracy
TrueBug PHP Obfuscator & Encoder


Pobierz ppt "PHP + MySQL część II."

Podobne prezentacje


Reklamy Google