![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 5 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Na początku chciałem zaznaczyć, że jestem początkujący. Napisałem prostą wyszukiwarkę, przy czym pobiera ona metodą GET oprócz szukanej frazy, jeszcze 3 parametry: - od i do -> wstawiam w zapytanie LIMIT $od, $do - show -> w zaleznosci od wartosci szuka w jednej z dwóch tabel Poniżej wrzucę kod, a teraz moje pytanie: Jak zrobić, żeby plik search.php (mój sposób nie działa) dobierał sobie te parametry, powiedzmy, że mogę zrobić link z formularza, ale wejdzie jakiś "chaker" i zacznie wpisywać głupoty w URL, a mysql będzie sypał błędami (chyba że to nieszkodzi, bo i tak zobaczy "nie ma wyników do wyświetlenia") z formu przechodzi normalnie, tylko wystarczy, żeby ktoś dwukrotnie kliknął "szukaj" i się sypie. Za to jak wpisze ręcznie URL to wszystko jest git, więc chodzi na pewno o to.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 233 Pomógł: 87 Dołączył: 6.03.2009 Ostrzeżenie: (40%) ![]() ![]() |
Jest całkiem sporo błędów logicznych w Twoim kodzie..
To nie ma sensu, isset() nigdy nie zwróci false, ponieważ kod "$od = (int)$_GET["od"];" zadeklaruje zmienną $od... Napisałeś to prawie dobrze, jednak powinno być: Lub jeśli nie kumasz jeszcze takich konstrukcji, nieco dłuższy w zapisie ekwiwalent:
------------------------------------------ Popiepszyłeś troche kolejność... mysql_real_escape_string() Dawaj zawsze na końcu (z lewej strony), manipulowanie przy stringu pociągniętym już tą funkcją przed dopisaniem do zapytania SQL to proszenie się o problemy. strip_tags(htmlspecialchars( Zdecyduj się na coś... strip_tags() będzie miał dokładnie NIC do roboty kiedy dasz mu string wcześniej potraktowany przez htmlspecialchars() W zależności co chciałeś uzyskać, ja bym to zrobił tak: Ten post edytował wNogachSpisz 25.02.2011, 20:10:44 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 10:36 |