FROM users! E se… http://yourdomain.com/users?id=50%3BDELETE+FROM+users Resultado: <?php! ! $pdo = new PDO('sqlite:/path/db/users.db');! $pdo->query("SELECT name FROM users WHERE id = ".$_GET['id']); // <-- NO!!
$stmt = $pdo->prepare('SELECT name FROM users WHERE id = :id');! $stmt->bindParam(':id', $_GET['id'], PDO::PARAM_INT); // <-- Automatically sanitized by PDO! $stmt->execute();! Maiores informações: https://www.owasp.org/index.php/SQL_Injection
de negócios, lógica e funções; • View (Visão) • Pode ser qualquer saída de representação dos dados, como uma tabela ou um diagrama; • Controller (controlador) • Faz a mediação da entrada, convertendo-a em comandos para o modelo ou visão; MVC Model-View-Controller
PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');! ! // Make your model available! include 'models/FooModel.php';! ! // Create an instance! $foo = new FooModel($db);! $fooList = $foo->getAllFoos();! ! // Show the view! include 'views/foo-list.php';! foo.php