Grzechy główne programistów (nie tylko PHP)
-
Upload
phpcon-poland -
Category
Technology
-
view
1.842 -
download
3
description
Transcript of Grzechy główne programistów (nie tylko PHP)
SALIGIA**(superbia, avaritia, luxuria, invidia, gula, ira, acedia)
...czylirzecz o grzechach głównych programistów
Robert Partyka
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Trochę teorii...czyli:pycha
chciwośćnieczystość
zazdrośćobżarstwo
gniewlenistwo lub znużenie duchowe
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechydotyczące
wiedzy
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące wiedzy:- nieznajomość języka programowania- wymyślanie koła od nowa- nieznajomość prawa (nie czyni niewinnym)
* prawo autorskie* prawo dotyczące ochrony baz danych* prawo dotyczące usług internetowych* prawo dotyczące ochrony
danych osobowych
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące wiedzy- nieznajomość języka programowania- wymyślanie koła od nowa- nieznajomość prawa (nie czyni niewinnym)
* prawo autorskie* prawo dotyczące ochrony baz danych* prawo dotyczące usług internetowych* prawo dotyczące ochrony
danych osobowych
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące wiedzy- nieznajomość języka programowania- wymyślanie koła od nowa- nieznajomość prawa (nie czyni niewinnym)
* prawo autorskie* prawo dotyczące ochrony baz danych* prawo dotyczące usług internetowych* prawo dotyczące ochrony
danych osobowych
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechydotyczące
stylu
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji
function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji
function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji
function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji
function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące stylu:- brak komentarzy- brak czytelnych nazw zmiennych- brak prawidłowego formatowania- brak dokumentacji
function gfb($a){ $a *= 1;if ($a!=floor($a)){ $b = floor($a*100); $b = $b/100;if (Abs($a-$b)>=0.005) $b = $b+(( $b<0 )?-0.01:0.01);return $b;}else{ return $a; } };
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechydotyczące
kodu
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące kodu:- czkawka... czyli powtarzanie wielokrotnie
tego samego kodu- brak optymalizacji skryptu- gdy każdy if nie oznacza również else- brak lub niewłaściwa obsługa błędów- nadużywanie define()- eval() jest evil!- niebezpieczne nawyki:
register globals, magic quotas...- wiara w konfigurację domyślną
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechydotyczące zasobów
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące zasobów:- brak szanowania pamięci - magia unset()- gdy 20*1 != 1*20 - wielokrotne zapytania SQL- rekurencja nie zawsze jest dobra
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące zasobów:- brak szanowania pamięci - magia unset()- gdy 20*1 != 1*20 - wielokrotne zapytania SQL- rekurencja nie zawsze jest dobra
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące zasobów:- brak szanowania pamięci - magia unset()- gdy 20*1 != 1*20 - wielokrotne zapytania SQL- rekurencja nie zawsze jest dobra
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechydotyczące
bezpieczeństwa
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące bezpieczeństwa- brak prawidłowego parsowania
zmiennych wejściowych- przekazywanie zmiennych bezpośrednio do
SQL lub ścieżek dostępu do plików- niedostateczne sprawdzanie uprawnień dostępu- proste ID dostępu do danych- magiczne adresy url i ukryte pola formularzy- upload plików, bez testu zawartości- używanie SSL bez sprawdzania
poprawności certyfikatów- ufanie rozwiązaniom nazw DNS
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechydotyczącestruktury
kodu
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące struktury kodu:- mieszanie kodu PHP z HTML- bałagan w plikach i katalogach- setki require() / include()
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące struktury kodu:- mieszanie kodu PHP z HTML- bałagan w plikach i katalogach- setki require() / include()
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
grzechy dotyczące struktury kodu:- mieszanie kodu PHP z HTML- bałagan w plikach i katalogach- setki require() / include()
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
czynnikludzki
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Czynnik ludzki:- straszenie użytkownika przerośniętym GUI- zbytnie zaufanie wobec użytkownika szkodzi- nie ufaj kodowi z zewnątrz bezwarunkowo
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Czynnik ludzki:- straszenie użytkownika przerośniętym GUI- zbytnie zaufanie wobec użytkownika szkodzi- nie ufaj kodowi z zewnątrz bezwarunkowo
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Czynnik ludzki:- straszenie użytkownika przerośniętym GUI- zbytnie zaufanie wobec użytkownika szkodzi- nie ufaj kodowi z zewnątrz bezwarunkowo
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Object-Oriented Programmingkusi ciemną stroną mocy
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Object-Oriented Programmingkusi ciemną stroną mocy
foreach($configLines as $line){list($key,$value)=explode("=",$line,2);$this->addConfigValue(new myConfigObject($key,$value));
}
SALIGIA, czyli rzecz o grzechach głównych programistów
Robert Partyka - [email protected]
Dziękuję za uwagę...Idźcie i nie grzeszcie więcej :)