webapi2に新しく、私はサードパーティのWebサービスからいくつかのデータをロック解除する簡単なWebApi2プロジェクトを実装しました。資格情報付き)Asp.net WebApi2 - スクラップを避け、ブラウザからの直接アクセスを避け、ドメインからのajaxコールのみを許可する
これはうまくいきますが、私たちのwebapiからコンテンツをこすりすることを避ける方法を探しています。それは機密データではありませんが、競合他社にとって有益です。
私たちはログインすることはできませんが、誰かがウェブサービスからコンテンツをスクラップするのをより困難にする方法を探しています。データは私たちのウェブサイトから自由に入手できるので、私はそれを100%安全にすることはできないと理解していますが、それをもっと難しくするためにできることがなければなりません(そして、人々が以前に対抗した問題のように見えます。いくつかの明確な情報)
IveはCORSを調べましたが、他のドメインからの要求を許可しています。
バックエンドに秘密鍵を使用し、datettimeとヘッダー情報をハッシュして、javascriptでそれをajax呼び出しに追加し、トークンが有効であるかどうかwebapiメソッドをチェックしますか?
編集
トークンauthenticiationと虐待を停止する簡単な(ときれい)な方法があると思われるdoesnの `tので、私は、IPスロットルで行くことにしました。理想的ではないが、それは役立ちます:
私はこのライブラリを使用し、それがうまく機能: https://github.com/stefanprodan/WebApiThrottle
"これはうまくいきますが、私たちwebapiのコンテンツを傷つけるのを避ける方法を探しています。それは機密データではありませんが、競合他社にとって有益なことです。すべての出力がHTMLベースのものであれば、一部のデータをイメージ形式で表示することになりますが、競合他社は何らかの形でOCRを使用してバイパスすることを回避する方法はありません。 – Marco
さて、データを画像形式で提示するのは少し難しくなり、ユーザーエクスペリエンスが損なわれます。 私が避けたいのは、webapiへのリクエストを簡単に自動化する能力です。 たとえば、domain.tld: ドメインでajax経由で次のリクエストが使用されています。tld/api/getcategoriesbyid 私は、より実用的であれば、これを自動的に呼び出してデータを保存する、または独自のアプリケーションでメソッドを使用することを防ぐ(または、もっと難しい)ユーザー/サーバーにしたいと考えています。 – Dossie
ウェブAPIが一般の人々に公開されている場合、これをどのように達成できるのか正直に分かりません。あなたのサードパーティはあなたのWeb APIとの統合を提供していますか? – Marco