私はRESTfulなAPIを持っていますが、誰もが何もできないように安全でありたいです。スリムフレームワーク - APIセキュリティ
$app->get('/users' , function(Request $request, Response $response){
$sql = "SELECT * FROM users";
try{
// Get db object
$db = new db();
// Connect
$db = $db->connect();
$stmt = $db->query($sql);
$users = $stmt->fetchAll(PDO::FETCH_OBJ);
$db = null;
echo json_encode($users);
} catch(PDOException $e){
echo '{"error": {"text": '.$e->getMessage().'}}';
}
});
私がhttp://localhost/API/users
に行くと、私はすべてのユーザーをjsonテーブルに入れます。
私のデータベースの中に私のデータは、私は誰もが私のAPIを介して、あなたがlevel 5
であれば、自分の表を参照してくださいしたいと思います[{"id":"1","username":"werknemer","password":"...","level":"1","name":"piet","surname":"jan","email":"[email protected]"}]
のように保存されます。
解決策はありますか?
このコードは安全ではありません。準備されたステートメントを使用する必要があります – geggleto
私は 'user add'のために準備されたステートメントを使用します。ユーザーを追加したりユーザーを削除したりするために特別なレベルが必要なことをどのようにして安全にすることができますか? –
サイドノート:プレーンな文字列連結でJSONを生成すると、ランダムに破損します。あなたはすでに 'json_encode()'を知っていて、どこでも使えます。 –