Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%)
|
Mam bazę nazwisk z informacjami. Rekordy wywołuję przez zmienną nazwisko=xxxxx
Jednak żeby się zabezpieczyć przed zhakowaniem całej bazy przez wpisanie nazwisko=a% lub nazwisko=a_ stworzyłem ifa if(!preg_match("/%/", $nazwisko)&&!preg_match("/_/", $nazwisko)) i działa super - tylko że jest zbyt dokładny - bo są nazwiska takie jak d'Haute (z apostrofem) i to nazwisko jest wyłapywane jako zhakowanie jest jakiś sposób żeby zostawić zabezpieczenie ale żeby apostrof nie był brany pod uwagę? I skąd ten apostrof skoro skryptu nie uczulałem na niego? a może to zabezpieczenie robi się inaczej ? podgląd bazy jest tu: http://powstanie.okiem.pl Ten post edytował Dopler 18.06.2012, 18:07:11 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 81 Pomógł: 0 Dołączył: 30.01.2008 Ostrzeżenie: (0%)
|
sorry- ale ja po prostu nie rozumiem co znaczy "wywalasz _%" bo przecież to są trzy osobne warunki w bramce logicznej - warunek długości i nie występowania tych znaków
Rozwiązałem problem
działa - ale czuję że to jest strasznie dookoła - jak siekierą. To chyba powinno być zrobione jakimś kodowaniem ... Nie jestem pewien czy to wyczerpuje wszystkie możliwości, poza tym nie wiem czy tego i tak nie można jakoś obejść może jest lepszy sposób? baza jest w UTF8 |
|
|
|
Dopler zabezpieczenie injection zbyt dokładne? 18.06.2012, 18:06:09
trafas może powinieneś pokombinować z funkcją addslashes 18.06.2012, 18:52:01
Dopler kurcze ... muszę chyba jeszcze raz opisać problem ... 18.06.2012, 18:56:19
melkorm po prostu wywal wszystkie _ i % - bo jak rozumiem ... 18.06.2012, 18:59:28
Dopler tak korzystam z LIKE - ale nie mogę wywalić _ i % ... 18.06.2012, 19:08:10
melkorm 1. Wywalasz % i _, robisz strlen, dodajesz swoje %... 18.06.2012, 19:15:27 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 12:26 |