To prawdopodobnie pytanie noob, ALE wysłuchaj mnie - czy nie ma sensu używać Nonce do ochrony przed takimi rzeczami jak złomiarki (skrobaczki phpcurl itp.)? Ale moja Nonce drukuje w nagłówku dokumentu tak:
/* <![CDATA[ */
var nc_ajax_getpost = {
...stuff...
getpostNonce: "8a3318a44c"
};
/* ]]> */
Więc gdybym budował szybki scrapper, po prostu wziąłbym wartość nonce z tej strony, a następnie użyłbym jej w moim POST ... czyniąc całe ćwiczenie używania Nonce bezużyteczne ...
Czego tu brakuje?
Odpowiedzi:
Jednostki jednorazowe są unikalne dla każdego zalogowanego użytkownika. Nie możesz zdrapać zalogowanych użytkowników, jeśli nie masz ich plików cookie. Ale jeśli masz pliki cookie użytkownika, już ukradłeś jego tożsamość i możesz robić, co chcesz.
Nonces mają na celu ochronę przed nakłonieniem użytkowników do zrobienia czegoś, czego nie chcieli zrobić, poprzez kliknięcie linku lub przesłanie formularza. Więc oni sami wykonują tę akcję (nieumyślnie), a nie atakujący.
źródło
http://en.wikipedia.org/wiki/Cryptographic_nonce
„W inżynierii bezpieczeństwa nonce jest dowolną liczbą używaną tylko raz do podpisania komunikacji kryptograficznej. ... Często jest to losowy ... protokół uwierzytelnienia, aby zapewnić, że stara komunikacja nie będzie mogła zostać ponownie wykorzystana w atakach z powtórzeniem”.
Chodzi o to, aby zatrzymać przesyłanie powtarzających się danych. Tworzysz niepowtarzalny osobisty identyfikator jednorazowego użytku, aby po przesłaniu danych można to zrobić tylko raz. Nie ma to nic wspólnego z przeglądaniem witryny. To właśnie robi scraping witryny. Jak odróżniłbyś robota zgarniającego od robota trałującego (takiego jak Google)?
źródło