![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Witam, ostatnio zgłosiłem pewien skrypt do szkolnego konkursu. Zadaniem było napisanie prostego systemu obsługi poleceń(kilka poleceń) do serwera w tym bazy danych. W piątek po przyjściu do szkoły wezwano mnie do pracowni komputerowej z powodu, że komisja konkursowa odrzuciła mój skrypt(rzekomo posiada luki w bezpieczeństwie). Oczywiście domagałem się jakiś informacji ale powiedziano mi "Wszelkie informacje zostaną wysłane w ciągu kilku godzin na emaila...". Poczekałem(kilka godzin przeszło w 2 dni), dzisiaj dostałem emaila:
Cytat ...... Twój skrypt został wykluczony z konkursu ponieważ posiada rażącą lukę w bezpieczeństwie.....(info o temacie i zasadach). Błąd dotyczy dziury SQL Injection w zapytaniu umieszczonym poniżej(6 linia podanego kodu)....(blebleble)
6 linia to zapytanie poprzez bibliotekę PDO do $test. Wszędzie gdzie czytałem ludzie pisali, że wysłanie parametru za pomocą metody prepare zabezpiecza przed SQL Injection. Jeśli skrypt nie posiada dziury to gdzie znajdę info popierające moje zdanie. A jeśli kod jest nie poprawny to proszę o nakierowanie(człowiek uczy się całe życie). Z góry dziękuje za pomoc. Ten post edytował daniel1302 30.01.2011, 21:39:29 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 711 Pomógł: 127 Dołączył: 5.07.2008 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Co to jest za szkoła?
Wg mnie prepared statements jest wystarczającym zabezpieczeniem - $_GET['code'] jest bindowana jako parametr i nie można za jego pomocą zmodyfikować zapytania sql. Gdyby tam zamiast = było LIKE to wówczas możnaby w code wpisać 32 razy % i by mogło to być uznane jako błąd. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Prepared statements mają to do siebie, że parametry nigdy nie są wplatane w treść zapytania, więc siłą rzeczy eliminują zagrożenie ze strony SQL Injection.
Na poparcie możesz: 1. Poprosić ich o podanie przykładowego kodu powodującego błąd - w ramach "pomocy" możesz usunąć im ten warunek sprawdzający długość zmiennej. 2. http://pl.php.net/manual/en/pdo.prepared-statements.php |
|
|
![]()
Post
#4
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Bo "szanowna" "komisja" nie ma bladego pojęcia o prepared statements. Zobaczyli gołego GETa i się wystraszyli. Fail i mega lol roku chyba
![]() -------------------- Google knows the answer...
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 182 Pomógł: 115 Dołączył: 4.03.2009 Skąd: Myszków Ostrzeżenie: (0%) ![]() ![]() |
Miałem taki przypadek. Kumpel zastosował rozwiązanie dość nietypowe => nie zaliczyli zadania. Napisał im długiego maila, w którym wyjaśnił jak bardzo się mylą i dali mu max ilość punktów
![]() Napisz im, żeby spojrzeli w kalendarz, bo mamy rok 2011 i dostępne są lepsze rozwiązania niż mysql_real_escape_string. Co to za konkurs? Chętnie poznam szczegóły faila ![]() Ten post edytował Mephistofeles 30.01.2011, 22:18:23 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 30 Dołączył: 1.08.2007 Skąd: Nowy Sącz Ostrzeżenie: (0%) ![]() ![]() |
Ja jestem w klasie elektronicznej, ale interesuje sie tworzeniem stron. Zadaniem było napisanie prostego terminala(kilka poleceń) na stronę www. Dostępne wszystkie technologie. Z góry dziękuje za pomoc. Jak pojawi się info na stroni to dam linka.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 05:01 |