scottx
2.07.2007, 21:55:47
WikipediaCytat
Teoretycznie w ten sposób można przekazać każde zapytanie SQL, włącznie z wykonaniem kilku zapytań naraz. Jeżeli w powyższym przykładzie użytkownik przekaże
x';DROP TABLE użytkownicy; SELECT * FROM data WHERE nazwa LIKE '%
to całe zapytanie przybierze postać
SELECT * FROM uzytkownicy WHERE uzytkownik = 'x';DROP TABLE uzytkownicy; SELECT * FROM dane WHERE nazwa LIKE '%'
co zaowocuje usunięciem tabeli "uzytkownicy" i pobraniem wszystkich danych z tabeli "dane".
Czy możliwe jest zagnieżdżenie paru zapytań na raz w jednym zapytaniu do bazy? Tu chyba jest bład? Mylę sie? proszę o odpowiedź
SongoQ
2.07.2007, 22:42:21
Nie mozna wykonuje sie zawsze 1 zapytanie. Ogolenie temat ten byl wielokrotnie poruszany szukaj.
Nieprawda, baza danych(przynajmniej MySQL) nie robi żadnych ograniczeń co do ilości zapytań wykonywanych "na raz", ograniczenia są jedynie ze strony języków programowania(np. PHP), zresztą to i tak żadne ograniczenia bo korzystając z modułu mysqli(w przypadku php) można wykonywać kilka zapytań za jednym zamachem.
SongoQ
2.07.2007, 23:02:07
Usp, male niedomowienie jesli chodzi o wykorzystanie przez php tak wlasnie jest. A sama baza oczywiscie zaklada ze jest wiele zapytan tak jak pisal flv
scottx
2.07.2007, 23:20:42
<?Php
$id=$_get["id"];
$result = mysql_query("SELECT * FROM tabela WHERE `id`=$id "); ?>
Czy możliwe jest tu wstrzyknięcie kodu usuwajacego tabelę? IMHO nie. Jak już to jakoś tak
strona.php?id=1; Drop table tabela ale to nie zadziała
Tak jak pisałem, nie jest to możliwe, wikipedia ma to do siebie że jest rozwijana przez użytkowników i nie we wszystkie informacje zawarte tam trzeba wierzyć.
scottx
3.07.2007, 00:05:57
Dzięki za odpowiedź
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.