Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
Witam, jakich uzyć funkcji, aby dane wprowadzane do bazy poprze form były bezpieczne?
czytałem ze mysql_real_escape_string do zapisu do bazy uzywać. a do wypisywania z bazy uzywac stripslashes co pozwoli na wypisanie tekstu bez slashy i wszystko będzie "bezpieczne" Czy takie rozwiązanie pozwoli ochronić się przed atakami sql? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 6 Dołączył: 2.01.2004 Ostrzeżenie: (0%)
|
Na forum było dużo takich tematów, na google jeszcze więcej,
np http://www.webinside.pl/php/artykuly/197 (Filtracja danych) Ten post edytował Siner 4.01.2008, 21:49:58 |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
Z tego co doczytałem się, filtracja poprzez addslashes / stripslashes daje bezpieczeństwo
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual i mysql_escape_string" title="Zobacz w manualu PHP" target="_manual, te dwie dopiero dają bezpieczeństwo
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
czym one się różnia w praktyce?
|
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
pierwszy dostosowuje do kodowania użytego w aktualnym połączeniu zestaw znaków używany jako wzorzec dla escapowania, drugi używa wzorca ogólnego, pierwszy wymaga aktywnego połączenia z bazą drugi nie (można wykonywać escapowanie jeszcze przed nawiązaniem połączenia [mysql_connect/mysql_pconnect]) a dane wyjściowe czyli to co wyciągasz z bazy i ślesz użytkownikowi filtrowałbym pod kątem xss (można to oczywiscie robić także na etapie dodawania do bazy)
Ten post edytował devnul 5.01.2008, 01:33:57 |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
Pod katem XSS filtrujemy htmlspecialchars??
ale po dodaniu slash przy wyciąganiu i tak trzeba dac stripslashes inaczej będzie źle pokazywane. Dobry trop czy raczej źle poszedłem ? |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
w pewnym sęsie tak - ale nie do końca google ->xss a zrozumiesz czym to jest a co do pytań o funkcje php to ich wszystkie właściwości opisane są w manualu
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
więc chyba już doczytałem.
Przy wstawianiu do bazy używać mysql_real_escape_string Do wypisywania dawać stripslashes(strip_tags(...)); i jeszcze taki warunek dla magic_quotes_gpc
dzieki temu uniknę sql injection oraz xss? |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
ja bym raczej sugerował wyłączyć zawsze na starcie magic quotes (po sprawdzeniu oczywiscie) a filtrować dane wedle potrzeby zawsze
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
Ale nie zawsze jest możliwość wyłączenia niestety:/
napisałem takie coś, jest bezpieczne?:
Ten post edytował robos85 5.01.2008, 15:04:42 |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
zawsze jest możliwość wyłączenia (jesli magic gpc jest włączone to filtruje tablice wejściowe get/post/cookie wywalając slashe i tym samym wyłączam gpc - dzieki temu nie musze później 100 razy sprawdzac tego czy jest włączony gpc czy nie a filtruję to co jest mi potrzebne
|
|
|
|
Post
#13
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
$content = (! get_magic_quotes_gpc ()) ? mysql_real_escape_string ($content) : $content;
To tego nie robi? |
|
|
|
Post
#14
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
w pwenym sięsie tak ale nie do końca - poczytaj w manualu jakie znaki są escapowane przez mysql_real_escape_string a jakie przez magic quotes qpc
|
|
|
|
Post
#15
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
a możesz pokazać jakim ty kodem filtrujesz (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Będę wdzięczny |
|
|
|
Post
#16
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
no już napisałem - zdejmujemy przez założone przez gpc (jesli są slashe)
a później czy to strip_tags czy htmlspecialchars, czy też odpowiednio przygotowanymi funckjami bazującymi na regexp czy innym w razie koniecznośi i w zależności od potrzeby filtruję dane |
|
|
|
Post
#17
|
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%)
|
czyli moja funkcja zadziała prawidłowo na próbę ataku ?
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 1 470 Pomógł: 75 Dołączył: 21.09.2005 Skąd: że znowu Ostrzeżenie: (0%)
|
jak już pisałem - czysto teorytycznie tak - w praktyce to zależy jeszcze od tego jak jej użyjesz i musisz zdawać sobie sprawę z tego jakie niedogodności niesie to za sobą
|
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 07:03 |