2017-02-27 6 views
0

私のURLにクエリのパラメータがあり、成功したのですか?= paramsそれらのパラメータからURLをクリアするようにリダイレクトしますが、私がリフレッシュを押すと、何か違法になります。これは、完了した同じトランザクションをやり直し、その変更をhttp.postと同じクエリパラメータを使用して自分のデータベースにプッシュします。これは、すでにデータベース配列にプッシュされているものと同じものをプッシュし、$ inc操作を行います。これは巨大な脆弱性です!この脆弱性を回避する最適な方法は何ですか?クエリのパラメータで角度2をリフレッシュすると私のアプリが壊れています

+0

なぜこれが角度に関連していると思いますか?あなたは自分のコードがあなたが望んでいないことを要求しないことを確かめなければなりません。 –

+0

はい、私は同意します。私はこの脆弱性を回避するための最善の方法を探しています。同一のhttpリクエストが同じクライアントで同じパラメータですでに作成されているかどうかをチェックし、expressjsサーバーとincoming router.postメソッドを使用してサーバー側のロジックを使用して再作成されないようにするにはどうすればよいですか? – seanEd

答えて

1

クライアントから来るもの、特にクエリ文字列は決して信頼できません。すべてのトランザクションが合法であることを確認するために、サーバーのチェックを実装する必要があります。

+0

はい、私は同意します。私はこの脆弱性を回避するための最善の方法を探しています。同一のhttpリクエストが同じクライアントで同じパラメータですでに作成されているかどうかをチェックし、expressjsサーバーとincoming router.postメソッドを使用してサーバー側のロジックを使用して再作成されないようにするにはどうすればよいですか? – seanEd

+0

投稿要求をログに記録しない限り、データベースに行がすでに存在するかどうかを確認できます。 – paqash

関連する問題