![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 9 Dołączył: 21.05.2008 Skąd: Łomianki Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam pytanie, czy dobrze zastosowałem filtrowanie danych w tym skrypcie(błędów nie wywala, ale nie wiem jak sprawdzić czy filtruje). A oto kod:
I mam jeszcze pytanie o inne metody zabezpieczania i o wskazówki jak je zastosować (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Najprościej: mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual ;] czyli np.
htmlspecialchars + strip_tags - nie zabezpieczy Cię przed SQL Inject (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) bo spróbuj np. do zapytania zarzucić: ' - dlatego polecam mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Po 2 gie, jak definiujesz zmienne np:
To spójrz - dane nieprzefiltrowane się dostaną, bo tylko zmienna $login jest filtrowana. A Ty w zapytaniu do mysql odnosisz się do danych przesłanych w formularzu. Poprawnie powinno wyglądać:
Ten post edytował b4x 17.09.2008, 15:33:44 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 9 Dołączył: 21.05.2008 Skąd: Łomianki Ostrzeżenie: (0%) ![]() ![]() |
A czemu tutaj:
jest filtrowana całość? Przecieź w skrypcie występuje tylko zmienna $login? I po drugie rozumiem, źe mam usunąć:
bo to nie zapewnia mi bezpieczeństwa? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Ja bym to tak zrobił
;] Ten post edytował b4x 17.09.2008, 15:55:36 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 9 Dołączył: 21.05.2008 Skąd: Łomianki Ostrzeżenie: (0%) ![]() ![]() |
Dobra (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) jak wrócę do domu to sprawdze czy działa, ale mam nadzieję, źe tak. I jeszcze pytanie o inne formy zabezpieczania? I czy jak będę robił skrypt logoania to teź muszę zabezpieczać w ten sposób:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
"I jeszcze pytanie o inne formy zabezpieczania?" - to z zupełnością powinno wystarczyć (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Możesz np. napisać sobie funkcję która ułatwi Ci życie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Wtedy np. wystarczyłoby :
Ten post edytował b4x 17.09.2008, 16:02:12 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 9 Dołączył: 21.05.2008 Skąd: Łomianki Ostrzeżenie: (0%) ![]() ![]() |
I to samo muszę zastosować do maila?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 658 Pomógł: 95 Dołączył: 20.12.2005 Skąd: N54,35° E18,63° (Gdańsk) Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chcesz, to możesz. Ale widzę że do maila masz jakąś funkcję odpowiedzialną za jego sprawdzanie. (Czy jest poprawny.)
Czyli zapewne ta funkcja nie przyjmuje znaków specjalnych typu ^'% itd. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Więc wtedy maila nie musisz. (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) http://webmade.org/porady/bezpieczenstwo-p...on-xss-csrf.php Poczytaj, może to Ci bardziej wszystko naświetli (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 9 Dołączył: 21.05.2008 Skąd: Łomianki Ostrzeżenie: (0%) ![]() ![]() |
A hasło też mam filtrować?
P.S. A z tej strony co podałeś to się dowiedziałem jakie funkcje odpowiadają za filtrowanie (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) EDIT: Nie działa :/ Gdy daje
To wywala: Kod Fatal error: Call to undefined function mysql_real_escape() in /home/accounts_a/arekj/public_html/rejestracja.php on line 94 Jakieś pomysły? Ten post edytował ArekJ 17.09.2008, 20:48:09 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 13 Pomógł: 1 Dołączył: 31.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przydałby się jeszcze kurs czytania angielskiego ze zrozumieniem (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Kod Fatal error: Call to undefined function mysql_real_escape() in /home/accounts_a/arekj/public_html/rejestracja.php on line 94 Pozwolicie, że przetłumacze "po swojemu", bo angielski mój nie najlepszy (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Cytat Kod Błąd krytyczny: Wywołano niezdefiniowaną funkcje mysql_real_escape() w /home/accounts_a/arekj/public_html/rejestracja.php w linii 94 Czaisz? Jesli sam nie napisałeś, to funkcja mysql_real_escape() nie istnieje. Koledzy wyżej pisali o funkcji mysql_real_escape_string()" title="Zobacz w manualu PHP" target="_manual, którą kilka razy zastosowałeś w wyżej wymienionym skrypcie. Poza tym przeważnie używam htmlentities()" title="Zobacz w manualu PHP" target="_manual z odpowiednimi parametrami i z tego, co się orientuje równie dobrze mnie zabezpieczy przed SQLInjection, jak mysql_real_escape_string()" title="Zobacz w manualu PHP" target="_manual (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował morwo 18.09.2008, 13:52:22 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 9 Dołączył: 21.05.2008 Skąd: Łomianki Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, na tym poziomie to znam angielski, ale nie zauważyłem, że funkcja powinna się inaczej nazywać (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Proszę o zamknięcie tematu (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 17:39 |