2017-02-09 4 views
3

私は現在、自分のサイトにリクエストを送信するオープンソースのブラウザ拡張を行っています。これはAjaxで簡単に行うことができ、リクエストはページaction.phpに送信されます。元のソフトウェアから要求が送信されていることを確認しますか?

私のサイトはPHPを使用しますが、よく質問がありますが、action.phpが元の内線番号からリクエストを受け取るにはどうすればよいですか?グリフォーサーがサーバーに誤った情報を簡単に送信したり、フォークを使用して不正なデータを送信したりする可能性があります。私はある種のトークンを生成することを考えましたが、誰もそれを再現することができます。

どうすればこのような状況を防ぐことができますか?

ありがとうございました

+1

トークンを送信しないとできません。トークンの偽造を防止するには多くの方法があります(つまり、サーバーから発行する) –

答えて

0

私はこれにいくつかの経験があります。私はログインして拡張機能を構築していましたが、拡張機能のセキュリティは本質的に難しいことが必然的に起こりました。

問題は、拡張子が誰でもの値を調べることができJSとHTMLだけのバンドルであるということです。これは、あなたのコードを掘り起こすのに十分な人は、あなたが組み込んだ物をバイパスする方法を潜在的に見つけることができるということを意味します。

私が最終的にやって来た解決法は、拡張自体が長続きする秘密を保持できないということです。タイムアウトのあるセッションは、格納する唯一の安全なものです。私の拡張機能の実際のログインは、HTTPS経由のウェブサイト経由で行われます。

このようなログインをせずにこれを実行しようとしている場合、サーバー検証可能トークンを生成するアルゴリズムを使用して送信する必要があるものをできるだけ分かりにくくし、コードをWebストアに追加します。

編集:質問を読んで、あなたがこのオープンソースをやっていると言われたことに気づいた。 HTTPSを介したWebサーバー上での何らかの認証なしでは、公開されたリポジトリに表示されるため、保護を迂回することを止めることはほとんどできません。

関連する問題