Ini mungkin pertanyaan noob TAPI dengarkan saya - bukankah poin menggunakan Nonce untuk melindungi dari hal-hal seperti scrappers (phpcurl scrappers dll)? Tapi Nonce saya mencetak di kepala dokumen seperti:
/* <![CDATA[ */
var nc_ajax_getpost = {
...stuff...
getpostNonce: "8a3318a44c"
};
/* ]]> */
Jadi jika saya sedang membangun scrapper cepat saya hanya akan mendapatkan nilai nonce dari halaman itu dan kemudian menggunakannya dalam POST saya ... membuat seluruh latihan menggunakan Nonce tidak berguna ...
Apa yang kulewatkan di sini?
Jawaban:
Nonces unik untuk setiap pengguna yang login. Anda tidak dapat mengikis barang-barang milik pengguna yang masuk kecuali Anda memiliki cookie. Tetapi jika Anda memiliki cookie pengguna, Anda telah mencuri identitas mereka dan dapat melakukan apa pun yang Anda inginkan.
Nonces dimaksudkan untuk melindungi terhadap pengguna yang ditipu untuk melakukan sesuatu yang tidak mereka maksudkan, dengan mengklik tautan atau mengirimkan formulir. Jadi mereka sendiri melakukan tindakan ini (tidak sengaja), bukan penyerang.
sumber
http://en.wikipedia.org/wiki/Cryptographic_nonce
"Dalam rekayasa keamanan, nonce adalah nomor arbitrer yang hanya digunakan sekali untuk menandatangani komunikasi kriptografi. ... Sering kali merupakan protokol otentikasi acak untuk memastikan bahwa komunikasi lama tidak dapat digunakan kembali dalam serangan replay."
Idenya adalah untuk menghentikan pengiriman data berulang. Anda membuat pengidentifikasi unik sekali pakai pribadi untuk Anda, sehingga ketika Anda mengirim data, itu hanya dapat dilakukan sekali. Ini tidak ada hubungannya dengan menjelajah situs Anda. Apa yang dilakukan pengikisan situs. Bagaimana Anda membedakan antara bot pengikis dan bot pukat (seperti Google)?
sumber