2011-10-29 14 views
2

JavaScript SDKを使用すると、ユーザーの同意を得てウォールポストすることができます。それはクライアント側で全面的に行うことができるので、誰かが私のアプリケーションに代わって自分の壁に何かを掲示するのを防ぐにはどうすればいいですか? "picture"、 "link"、 "caption"、 "description"恵みのためフィード掲示のセキュリティ

編集:

自慢は、オンラインゲームを含むあらゆるゲームの重要な部分です。私のウェブゲームでは、ユーザーがFacebookに自信を持って勝つことができるようにしたいと考えていますが、実際に勝利しなくても自慢できるようにするために、アプリケーションを使ってポストを送信して送信することはできません。彼らは私が実際にそれらを許可する場合(私はいくつかの認証されたサーバー側のAPIを使用してこれを保証するために想像することができます)私のアプリケーションを介して何かを公開することがあります。

FacebookのFeed Dialogは、開発者が壁に何かを公開するかどうかをユーザーに促すことができます。ユーザーの勝利の話を公開するために使用することもできます。問題は、そのAPIが完全にクライアント側であり、Javascript SDKを介して、または単にURLを鍛造することによって使用できることです。

https://www.facebook.com/dialog/feed? 
    app_id=123050457758183& 
    link=https://developers.facebook.com/docs/reference/dialogs/& 
    picture=http://fbrell.com/f8.jpg& 
    name=Facebook%20Dialogs& 
    caption=Reference%20Documentation& 
    description=Using%20Dialogs%20to%20interact%20with%20users.& 
    redirect_uri=http://www.example.com/response 

問題は、私は、既存のアプリケーションのために、このような要求を偽造することができませんでしたということです、私はこの与えられた例のように、単にURLのフィールドを充填することにより、自分のアプリケーションの名前でポストを偽造することができましたRobot Unicorn Attack : Evolutionのように。したがって、1)私はこのアプリケーションへのリクエストを偽造する方法を知らず、まだ可能であり、安全性がないか、または2)FacebookのAPIのクライアント側の悪用を防ぐことが可能であり、私のアプリケーションでこれを行う方法。

恩恵のために、私は適切な答えを考えます1)いくつかのアプリケーションに代わっていつも郵便を偽造することが可能であるという証拠、そして私が望むものを投稿する方法が必要ですRobot Unicorn Attack : Evolutionの代わりに、または2)ユーザーが私のアプリケーションに代わってフィード・ポストを偽造するのを防ぐ方法。サーバ側の情報を持たない方法ではできません。

+0

にダイアログポップアップ参照ヒット「ポストを偽造することは常に可能であるといういくつかの証拠」 - ヨーヨーあなたはすでにそれを証明しています – zerkms

+0

"私のアプリケーションに代わってユーザーがフィードの投稿を偽造するのを防ぐ方法" - あなたのアプリケーションのために投稿するには、定義によって隠すことのできないアプリケーションIDだけです。だから、あなたがアプリケーションを持っている限り、誰でも代理人として投稿することができます – zerkms

+0

ロボットユニコーンアタック:進化のために投稿しようとすると、なぜ「無効なリクエスト」を受け取るのですか?なぜ私は自分のゲームでそれをすることができますが、一般的なゲームではできません。おそらくそれに接続したので – lvella

答えて

2

をあなたはロボットユニコーンの攻撃に代わって何かを投稿したい場合は、次の進化は、次の手順を実行します

0)アプリを追加したことを確認してください。クロム、https://s.adultswim.com/games3/fb-game-files/robotunicornattackevolution-sec/index.htmlに行く(このURLはキャンバスページ上のコンテンツのIFRAMEの上にformタグのアクションを検査することにより、位置していた)

2)オープン開発ツール

3を使用して

1) )コンソールでは、これを貼り付けます。

FB.ui({ 
    method: 'feed', 
    name: 'There is no security', 
    link: 'https://developers.facebook.com/docs/reference/dialogs/', 
    picture: 'http://fbrell.com/f8.jpg', 
    caption: 'I can post whatever i want', 
    description: 'Dialogs provide a simple, consistent interface for applications to interface with users.' 
    }, 
    function(response) { 
    if (response && response.post_id) { 
     alert('Post was published.'); 
    } else { 
     alert('Post was not published.'); 
    } 
    }); 

4)が入り、ページ

0

1) に代わって、いくつかのアプリケーションをポストを偽造することは常に可能であるといういくつかの証拠、およびそれによって私はロボットユニコーンの攻撃に代わって欲しい 何でも投稿する方法を必要とする:進化、

あなたは既にそれを行っています。自己証明を保つ。したがって、証明された。私はもはや、サーバー側 情報のみをせずにそれを行うことができますように、私の アプリケーションに代わってフィードの記事を偽造するために、ユーザーを防ぐために

2)の方法。

フィードの投稿は、非表示にすることができないアプリケーションIDです。あなたがアプリケーションを持っている限り、誰でもそのアプリケーションのために投稿することができます。 (私による。)

関連する問題