2016-08-12 11 views
0

私は社内で使用するために何かを開発していますが、スタッフが同じIPを使用しているため、休憩リクエストを送信して何かをDBに挿入することができます。私はスクリプトを小さくしても、ネットワークタブに行き、リクエストを見ることができます。同じIPアドレスのコーズを防ぐ

この場合のコルの適用方法は?

+0

システムのログイン/パスワード/シークレットでセキュリティを強化する必要があるようです。 – epascarello

+0

良いユーザーをIPに基づいて悪いから分離できない場合、Corsは役に立ちません。そして、実際にはあなたがしても、人々は単にあなたをカールさせるかもしれないので、いまだにあなたを助けません。あなたが実際に必要とするのは、適切な認証と特権です。 **あなたのデータベースへの無許可のアクセスを許可しないでください**。 – freakish

+0

@freakish私はDBにauthroisationを話しているわけではありません、彼らは私の残りの終点を知っている場合、同じネットワーク上にいる人は何かをするために郵便配達を使用することができますか? –

答えて

2

できません。

信頼できる人が訪問した信頼できないWebサイトを停止するには、訪問者のブラウザを使用してサーバーに要求し、そこからデータを盗みます。

CORSには、第三者のWebサイトがある場合に、同じ起点ポリシーを選択的に無効にすることがあります。doはデータを信頼します。

どちらも、データベースを変更すると信頼するユーザーがいるが、ユーザーが指定したクライアント側のUIを通じてのみ問題を解決するものではありません。

この問題を解決するには、サーバー側認可ロジックが必要です。

簡単な例として、ユーザーがIDを送信してコメントを削除できるようにするREST APIを使用している場合は、ユーザー名とパスワード(または認証に使用する他の形式)を要求に含める必要があります。が依頼しているをお知らせします。誰がリクエストを行ったのかを知ったら、コメントを削除する権限があることを確認する必要があります。通常は次のような論理になります。

if (comment.owner == user || user.has_role("admin")) { 
    comment.delete(); 
} else { 
    response.status.unauthorised(); 
    response.send(); 
} 
+0

誰もが部屋を予約できるアプリのようなものだと想像してください。どのように役割を設定しますか?私はあなたの役割も変えることができます。 –

+0

ロールはデータベース内のユーザーに関連付けられます。ユーザーの役割は、(たとえば)管理ユーザーだけが編集できるようにする必要があります。許可する前に、役割の変更を要求するユーザーが管理者であるかどうかをテストします。 – Quentin

+0

私はここに誤解があると思う、私の懸念は、人がイントラネットのインターネットネットワークを使用しており、私たちのサーバーが内部であるため、郵便配達員などを使って人々がAJAX要求を送信するのを防ぐ方法です。 –

関連する問題