web-dev-qa-db-ja.com

非敵対的なクロスドメインPOSTを今すぐ実行できますか?

私が取り組んでいるサイトの要件の1つは、訪問者がメーリングリストにサインアップできるようにすることです。この静的なサイトのサーバー側の処理を追加するのではなく、電子メールサインアップフォームから電子メールサインアップハンドラーが既にある別のサーバー(同じクライアントが所有)にPOSTしたいと思います。

しかし、そのサーバーは別のドメインにあるため、UA CSRF保護からの抵抗が予想されますが、何を期待すべきか正確にはわかりません。 (実際にはこれに関係するJSはなく、クロスサイトPOSTだけです。)

  1. 私がしたいことはまったく可能ですか、またはサーバー#2から電子メールサインアップフォームをiframeする必要がありますか?
  2. 可能であれば、どのような問題に直面する可能性があり、どのようにそれらを克服する必要がありますか?
2
kojiro

これを試してみて、はい、それは完全に機能します:

http://www.alphasmanifesto.com/tests/testPostSender.php (テストページはもうアクティブではありません。)

送信者のソースコード:

<html>
    <body>
        <form method="POST" action="http://www.automatumvitae.com/testPostReceiver.php">
            <input type="text" name="text" />
            <input type="submit" />
        </form>
    </body>
</body>

受信機のソースコード:

<html>
    <body>
        <p><?php
            if (isset($_POST['text'])) {
                $text = $_POST['text'];
                echo "Succeded! Submitted value: $text";
            } else {
                echo "Didn't receive anything. :(";
            }
        ?></p>
    </body>
</body>

補足として、これは同じサーバーの下の2つの異なるドメインで試行されました。これはクロスドメイン投稿ですが、どちらも同じIPを指します。 (しかし、私はそれが何にも影響を与えるとは思わない。)

FFとChromeでこれを試してみましたが、単一の問題は見つかりませんでした。

2
Alpha