2017-04-26 12 views
0

私はreact/expressアプリケーションで作業しています。 URLは/ dashboard?matchID = 2252309のようになります。ユーザーとして、私はこのURLにアクセスすることしかできません。マッチドイドを修正しようとすると、ページを見ることができないはずです。 これを行う簡単な方法ですか? 1つの選択肢は、エンドポイントを作成し、アクセスするためにデータベースをチェックすることです。ユーザーがURLでIDを変更できないようにする

+2

何が間違っていますか?見つからなければIDとあなたのエントリーを一致させる必要があります - ページを表示しません。 – Justinas

+0

ユーザーとして私は1つのmatchidにアクセスできます - アクセスは私のデータベースで定義されています。しかし、私はクリックしたリンクに応じて、一致するURLを表示されたURLにリダイレクトするページを持っています。一意のIDとの一致が多いため、エントリが存在します。ユーザーが2252309の代わりに2252307を書き込もうとすると、何らかの警告が表示されるようにする必要があります。 – KimR

+0

ユーザーIDと一致する必要があるため、ユーザーは自分自身の一致のみを表示できます – Justinas

答えて

1

データベースに基づいてURLを入力するようにユーザーに制限する方法はありません。

溶液A: トークンウェブとユーザーの許可サーバー側を確認して、要求されたressourceへのアクセスを制限するあなたの期待を一致させるには次の2つの利用可能なソリューションを持っています。ログインとパーミッションシステムを実装する必要があります。

溶液B: 複雑な非決定/非推測公共ID/URLを作るためにウェブトークン(JWT)にあなたの本当のressourceのIDを隠します。正確なURLを持つ人は、要求されたリソースにアクセスできます。

関連する問題