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

登録フォームphpでのSQLインジェクションを避ける

    インジェクションを回避する最善の方法は、プリペアドステートメント を使用することです。 。
    プリペアドステートメントの場合、私はすべてのDBのものを処理するためにPDOを使用することを好みます。基本的なログイン情報を取得するために作成したPDOサンプルコードは次のとおりです。

    $sql=new PDO("mysql:host=127.0.0.1;dbname=name","user","password");
            $user=$_POST[user];
    
            $query="select Salt,Passwd from User
                    where Name=:user";
            $stmt=$sql->prepare($query);
            $stmt->bindParam(':user',$user);
            $stmt->execute();
            $dr=$stmt->fetch();        
            $sql=null; 
            $password=$_POST[pass];
            $salt=$dr['Salt'];
    

    ...など

    これ を読む PDOの詳細については、ページを参照してください。ここのコードの各行が何をしているのか知りたい場合は、これ を読んでください。 別の投稿に答えました。



    1. VBAを使用してExcelでSQLスタイルのクエリを使用する

    2. C#コンソールアプリケーションでCMDコマンドを実行するにはどうすればよいですか?

    3. Mysql Workbench GUIでテーブルの内容を表示するにはどうすればよいですか?

    4. MS Accessのクラッシュに問題がありますか?これらのソリューションを最初に試す