sql >> データベース >  >> RDS >> PostgreSQL

pg_prepare()プリペアドステートメント(PDOではない)はSQLインジェクションを防ぎますか?

    プリペアドステートメントは、にクエリプランを変更できないため、SQLインジェクションから安全です。 それは準備されています。ただし、ステートメントがすでに侵害されている場合でも、SQLインジェクションに悩まされています:

    <?php 
    // how NOT to construct your SQL....
    $query = 'SELECT * FROM user WHERE login=$1 and password=md5($2) LIMIT '. $_POST['limit']; -- injection!
    $result = pg_prepare($dbconn, "", $query);
    $result = pg_execute($dbconn, "", array($_POST["user"], $_POST["password"]));
    if (pg_num_rows($result) < 1) {
      die ("failure");
    }
    ?>
    


    1. postgresのDELETECASCADEをどのように作成しますか?

    2. MySQLのJSON配列を行に変換する

    3. サービスのリストのためのMySQLデータベース設計

    4. 与えられた条件を満たす多くの行のうちの1行を除くすべての行を更新するにはどうすればよいですか?