Esta é provavelmente uma pergunta noob, mas ouça - não é o ponto de usar o Nonce para se proteger de coisas como scrappers (phpcurl scrappers etc.)? Mas o meu Nonce imprime no cabeçalho do documento assim:
/* <![CDATA[ */
var nc_ajax_getpost = {
...stuff...
getpostNonce: "8a3318a44c"
};
/* ]]> */
Portanto, se eu estivesse construindo um raspador rápido, obteria o valor nonce dessa página e o usaria no meu POST ... fazendo todo o exercício de usar um Nonce inútil ...
O que estou perdendo aqui?
Respostas:
Nonces são exclusivos para cada usuário conectado. Você não pode raspar os nonces de um usuário conectado, a menos que possua os cookies. Mas se você possui os cookies de um usuário, você já roubou a identidade deles e pode fazer o que quiser.
O Nonces visa proteger os usuários que são induzidos a fazer algo que não pretendem, clicando em um link ou enviando um formulário. Portanto, eles mesmos executam essa ação (não intencionalmente), não o atacante.
fonte
http://en.wikipedia.org/wiki/Cryptographic_nonce
"Na engenharia de segurança, o nonce é um número arbitrário usado apenas uma vez para assinar uma comunicação criptográfica. ... Geralmente é um protocolo de autenticação aleatório para garantir que as comunicações antigas não possam ser reutilizadas em ataques de repetição".
A idéia é interromper o envio de dados repetidos. Você cria um identificador exclusivo de uso único pessoal para você, para que, quando você enviar dados, ele possa ser feito apenas uma vez. Não tem nada a ver com a navegação no seu site. Qual é o que a raspagem de sites faz. Como você diferenciaria um bot de raspagem e um arrastão (como o Google)?
fonte