![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. mam pewien problem.
Posiadam formularz, który zapisuje wyniki do bazy danych. Problem pojawia się gdy są dodawane znaki specjalne typu: & ( ) < > itd. chciałbym zabezpieczyć mój skrypt przed atakami. Mam zrobione tak:
w jaki sposób kontrolować niedozwolone znaki? Chodzi o to, gdy ktoś wpisze: treść #(*@)# to nie doda tego do bazy tylko odrzuci jak to zrobic? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ale ma Ci to odrzucić w sensie ma nie dodać tych znaków do bazy, czy ma dodać ale bezpiecznie, czy co?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
ma nie dodawać znaków specjalnych - jeżeli będzie przykładowo ala ma kota #(&*#*(&@!)_!) itd to usuwa znaki specjalne i dodaje ala ma kota samo, a jeżeli ktoś wpisze same znaki specjalne to ma odrzucić.
A może tak od początku. Napisałem ala wyszukiwarkę tagów.
problem pojawia się gdy np wpisuję w wyszukiwarce <script> to skrypt zaczyna szaleć. Tak samo dodają się znaki html typu Po prostu nie filtruje danych - co zrobić aby właśnie to zadziałało? gdzie błąd zrobiłem ? Wiem, że w kodzie mam masło maślane, ale to moje początki w php. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
PHP >= 5.6
PHP < 5.6
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
edit:
usuwa polskie znaki i np. piękne dodaje mi do bazy pikne - gubi ę Ten post edytował unw 11.02.2015, 23:40:46 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 3 034 Pomógł: 366 Dołączył: 24.05.2012 Ostrzeżenie: (0%) ![]() ![]() |
teoretycznie tak, ciężko powiedzieć bo to jakiś zlepek tych kodów i chyba tam czegoś brakuje, a jak nie to te warunki trochę są bez sensowne, polecałby jednak mysqli i filtrowanie po typach zawsze bezpieczniej
![]() no bo to nie zastępuje najpierw zamieniaj na alfabet bez encji a potem wykonaj usun ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 12.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki.
Pomogło uporządkowanie całego kodu oraz wywalenie zbędnych śmieci - teraz filtruje i nie przepuszcza do bazy niechcianych zapytań z sql injection włącznie. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.06.2025 - 09:47 |