Mam małą bazę danych MySQL z kilkoma setkami wierszy (wszystko w tekście, bez obrazów). Żądam wszystkich wierszy przy użyciu iQuery i wykonuję wszystkie operacje filtrowania po stronie klienta. Kod iQuery jest następujący:Czy istnieje ryzyko wstrzyknięcia, jeśli dane wprowadzone przez użytkownika nie zostały przesłane do bazy danych?
$(document).ready(function() {
$.get("alldata.php", function(data){
$('#result').text(data);
});
});
Po stronie serwera, „alldata.php” ma następujący kod i przekazywać dane w formacie JSON z powrotem do iQuery:
$sql = "SELECT title FROM mydatabase";
$result = mysqli_query($conn, $sql);
$arr = array();
while($row = mysqli_fetch_assoc($result)){
$row_array['Title'] =$row['title'];
array_push($arr,$row_array);
}
mysqli_close($conn);
echo json_encode($arr);
Wydaje mi tam nie będzie żadnego ryzyka wstrzyknięcia, ponieważ w bazie danych nie ma danych wprowadzonych przez użytkownika. Mam rację, czy nie? Wielkie dzięki za twój wkład!
Istnieje zapytanie, wybierz. Ale bez udziału użytkownika, złośliwy użytkownik nie może niczego wstrzyknąć. –
Dobra uwaga! Tytuł został odpowiednio zaktualizowany. – LearnAWK