web-dev-qa-db-ja.com

ナンスは役に立ちませんか?

これはたぶん私の知るところでは何の問題でもありません - Nonceを使ってスクレイパー(phpcurl scrappersなど)のようなものから保護することの意味ではありませんか?しかし、私のNonceはこのように文書の先頭に印刷しています。

/* <![CDATA[ */
var nc_ajax_getpost = {
    ...stuff...
    getpostNonce: "8a3318a44c"
};
/* ]]> */

だから私がクイックスクレーパーを作っていたのなら、そのページからnonce値を取得し、それを私のPOSTで使用するだけです。

私はここで何が足りないのですか?

10
Adrian

ナンスは、ログインしている各ユーザーに固有のものです。あなたが彼らのクッキーを持っていない限り、あなたはログインしているユーザーのノンスをこすることはできません。しかし、あなたがユーザーのクッキーを持っているならば、あなたはすでに彼らの身元を盗まれていて、あなたが望む何でもすることができます。

ナンスは、リンクをクリックするかフォームを送信することによって、ユーザーが意図していないことをしてしまうことを防ぐためのものです。そのため、攻撃者ではなく、彼ら自身がこのアクションを(意図せずに)実行します。

14
scribu

http://en.wikipedia.org/wiki/Cryptographic_nonce

「セキュリティ工学では、ノンスは暗号通信に署名するために一度だけ使用される任意の数です。古い通信が再生攻撃で再利用されないことを保証するためにしばしばランダムな認証プロトコルです」

これは、繰り返しデータの送信を中止することを目的としています。あなたはあなたに個人的な使い捨てのユニークな識別子を作成するので、あなたがデータを提出するとき、それは一度だけされることができるように。サイトの閲覧とは関係ありません。これがサイトスクレイピングの機能です。スクレーピングボットとトロールボット(Googleのような)をどのように区別しますか。

2
TCBarrett