[PHP]Filtrowanie $_GET |
[PHP]Filtrowanie $_GET |
8.09.2008, 05:02:25
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Przesyłam dane przez GET, zwykła wyszukiwarka input... Jak przefiltorwać te dane? Gdy wpisze coś takiego:
strona jest rozwalana... kombinowałem nawet z czymś takim ale nic to nie daje..
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
8.09.2008, 07:05:01
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) |
źródełko -------------------- |
|
|
8.09.2008, 11:30:34
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Czytałem to, jednak problemu nie rozwiązuje:
wpisuje w input: filtr:
efekt echo:
formularz wygląda tak:
ale strona jest rozwala mimo wszytko, ponieważ dane w samym input nie są filtrowane tzn. niektóre znaki html wyskakują poza input. Ten post edytował !*! 8.09.2008, 11:34:46 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
8.09.2008, 14:26:53
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) |
Dlaczego tutaj nie użyłeś htmlentities:
? a to po co?:
Daj tak:
i pięknie działa! nic się nie rozjeżdża -------------------- |
|
|
8.09.2008, 15:19:02
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Dla pewności umieśilem to w fukncji:
teraz tylko musze przy kazdym GET dodać zabezpiecznieget... trochę roboty mnie czeka... ps. taka filtracja dobrze się nadaje też do post i wysyłaniu danych do bazy? Czy jeszcze coś dodać? -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
8.09.2008, 15:24:28
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) |
Załóżmy, że chcę wyszukać słowa z apostrofem.
Sprawdź, co Ci zwróci to szukanie (stawiam na to, że nic, jeśli oczywiście masz takie słowa w bazie). Czemu? Znak ucieczki doda: addslashes i mysql_real... Zdecyduj się na jedną z nich, dwie to nadmiar uniemożliwiający poprawne działanie wyszukiwarki. Swoją drogą podpowiem, że lepiej mysql_... |
|
|
8.09.2008, 15:34:03
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) |
Wcale nie musisz wszędzie dawać html....
Możesz dać na początku każdego pliku:
lub jak wolisz:
czyli:
i nie musisz się martwić. -------------------- |
|
|
8.09.2008, 15:38:39
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Shili - jeśli podam do wyszukania słowo "willa" jako:
Kod 'willa' zostanie ono zamienione na: Kod \\\'willa\\\' I zostanie bez problemu wyszukane... tylko pojawiają się \\\\\ w wyniku... Jak można to usunąć? heh zakręcone, dodanie \\ dla bezpieczeństwa, ale bląd w wyświetlaniu.. późniejszym po filtrowaniu Ten post edytował !*! 8.09.2008, 15:47:12 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
8.09.2008, 19:44:11
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) |
Napisałam - wywal addslashes - mysql_real_escape_string jest lepsze, bo nie dość, że escapeuje znaki, które addslashes może ominąć, to w dodatku jest bezpośrednio przeznaczone do bazy mysql.
|
|
|
8.09.2008, 22:25:55
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Wywaliłem, efekt pozostał:
edit dodałem stripslashes, teraz jest dobrze? Ten post edytował !*! 8.09.2008, 22:30:39 -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
8.09.2008, 22:40:11
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) |
Nie wiem, to zależy co widzisz.
Jeśli masz włączone magic quotes, to pewnie tak |
|
|
9.09.2008, 06:26:28
Post
#12
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Widzę.. złe rzeczy widze np. mogę wpisać:
Kod / i wyskoczy mi ze dwa takie... można się tego pozbyć? aby nie było można robić spacji, apostrofów itp.? Nie są mi one potrzebne do szczęścia;) -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
9.09.2008, 08:42:51
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) |
Widzisz już takie rzeczy po dodaniu do bazy, czy jeszcze przed?
Jeśli przed, to wszystko jest dobrze, jeśli w bazie się coś takiego pojawia, to jest źle. Także sprecyzuj gdzie widzisz podwójny / i pomyślimy, względnie się wytłumaczy czemu tak jest. |
|
|
9.09.2008, 09:19:37
Post
#14
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Przed dodaniem, w zasadzie w każdym polu tak jest, baza jest "czysta". \\ pojawia sie po zatwierdzeniu formularza, oczywiście nie przejdze, bo blokuje go filtr, ale jeśli wpiszę:
Kod \\nazwa\\ otrzymam wynik \\\\nazwa\\\\ jest jeden myk z tym, na stronie mam inny include z linkami... jeśli chce wyszukać poprzez właśnie "\\nazwa\\" i kliknę na inny link, w adresie strony pojawia sie taki ciąg znaków Kod %5Cnazwa%5C niby ok, bo tak przeglądarka widzi taki adres, ale... gdy kliknę tak z parę razy ta zmienna się klonuje Kod %5Cnazwa%5C%5Cnazwa%5C%5Cnazwa%5C%5Cnazwa%5C po kilku takich klikach strona jest blokowana, riques-url/ -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
-do- |
9.09.2008, 09:24:34
Post
#15
|
Goście |
Wysyłaj dane postem to uniknieiesz takich, problemów ze slashami.
Co do twojego pytania dodaj w <form action="" nazwe pliku do którego jest wysyłany formularz |
|
|
9.09.2008, 15:40:31
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
Mylisz się, po zmianie na post i wpisaniu \\ nadal pojawia się \\\\ ... poza tym get w przypadku wyszukiwarki jest lepszym rozwiązaniem.
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
9.09.2008, 15:51:18
Post
#17
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) |
Kurde,
do bazy wstawiasz dane przerzucone TYLKO przez mysql_real_escape() do wyswietlania uzywasz htmlspecialchars(), i tyle [nie wazne skad dane pochodza]. -------------------- Nie lubię jednorożców.
|
|
|
9.09.2008, 16:06:13
Post
#18
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
a ok.. dodatkowo idą dane przez filtr:
teraz żadne znaczki nie powinny się przedostać? -------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
9.09.2008, 17:20:16
Post
#19
|
|
Grupa: Zarejestrowani Postów: 180 Pomógł: 12 Dołączył: 30.04.2007 Ostrzeżenie: (0%) |
Czy nie jest tak, że mysql sam dodaje slashe podczas przesyłania danych do bazy? I htmlspecialchars() powinno już wystarczyć (ewentualnie możesz sprawdzać typ danych, jeśli np. mają być tylko liczbowe, lub ten typ wymuszać). Ja osobiście dodaje jeszcze strip_tags i imho starczy.
edit: i staram się używać POST kiedy tylko jest to możliwe, żeby mi ktoś głupich linków nie konstruował. Ten post edytował kazag 9.09.2008, 17:21:53 -------------------- |
|
|
9.09.2008, 18:06:45
Post
#20
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) |
kazag - a jak zrobiłbyś w POST wyszukiwarkę ze stronicowaniem + 4 includy na stronie z czego każdy ma swoje stronicowanie? jest to conajmniej kłopotliwe...
-------------------- Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta). |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 17:44 |