-2

テーブル名は、それらのテーブルをリストするテーブルをチェックすることにより、事前に許容可能なテーブルのホワイトリストと比較されます。そのリストは動的でなければならないため、配列の使用をやめました。設定変数セクションの変数は安全ですか? ユーザーが送信した投稿データが来ています。

    if ($stmt = $mysqli->prepare("INSERT INTO `" . mysql_real_escape_string($tablename) . "` (item_name, item_price, item_position, item_type, multi_link_id) values (?, ?, ?, ?, ?)")) {

        //Build Parameters 
        $stmt->bind_param('sdiii', $additemnameb, $additempriceb, $itempositionb, $itemtypeb, $linkidb);

        //Set Variables
        $additemnameb = $additemname;
        $additempriceb = $additemprice;
        $itempositionb = $itemposition;
        $itemtypeb = $itemtype;
        $linkidb = $linkid;

        //Execute Statement
        $stmt->execute();

        //Close Statement
        $stmt->close();
    }else{
        //Errors
        printf("Prepared Statement Error: %s\n", $mysqli->error);
    }

私が懸念していることを明確にするために、実際の質問をするように編集しました。

4

1 に答える 1

0

あなたの質問にYESと答えるには、// Set Variablesセクションの変数は安全です。より技術的には、変数はクエリが実行される前に安全になります。Mysqli がそれを処理します。

于 2013-06-13T03:19:03.167 に答える