Devi fare uno script che simula interamente, li dove ce n'è bisogno, la presenza di un browser.Allora mi rassegno perché non ho tante conoscenze in ambito programmazione... E poi che sono i bot di votazioni? Come agiscono? E mettiamo caso che non era un pulsante css ma un link... In tal caso l'attacco avrebbe funzionato?
Scusate ma la curiosità prende il sopravvento in queste situazioni... Io sono un appassionato
Inviato dal mio HUAWEI G700-U10 utilizzando Tapatalk
Spesso per questi casi si usa, per evitare i bot, un captcha o un token. Il token è un codice generato casualmente che appare sulla pagina dove va effettuata la votazione (in maniera non visibile all'utente es. <input type="hidden">) e viene inviato al server quando viene fatta la votazione, a cosa serve il token? Te lo spiego subito. Serve a "certificare" al server che l'utente che ha votato proviene dalla pagina principale dove c'è il bottone per votare (o quello che è). Il token può essere inoltre inserito nei cookie, o nei dati di sessione. Oltre al token ci sono molti altri modi per proteggersi dai bot, chi più ne ha più ne metta, ma il token è quello più usato assieme al captcha (credo).
Quello che dovresti fare è realizzare uno script che per ogni voto simula il collegamento alla pagina principale col tasto "Vota" (o quello che è..) e prende il valore del token (che in genere è una stringa casuale) per poi utilizzarlo in una seconda richiesta, che sarà quella del voto vero e proprio.
Per farti capire meglio, ipotizziamo che la pagina dove si vota sia:
http://concorso.net/votazione/ClanBalordi
E la pagina per inviare il voto a ClanBalordi sia:
http://concorso.net/votazione/ClanBalordi/sendVote
Tu dovrai prima collegarti tramite richiesta GET alla pagina /votazione/ClanBalordi, analizzare il codice sorgente generato dal loro web server (di concorso.net in questo caso) ed estrapolare (possibilmente con una regex) il codice del token, e quindi memorizzarlo da parte, poi dovrai mandare una richiesta a /votazione/ClanBalordi/sendVote con il valore del token.
Puoi analizzare le richieste con la console di quasi tutti i browser (credo che Internet Explorer puoi lasciarlo da parte) ed estrapolarne i parametri passati, l'URL, il tipo di richiesta ecc, tutto ciò in modo da permettere al tuo script di simulare una richiesta reale (sai.. ci potrebbero essere altri parametri oltre al 'token', che magari se non inseriti, non registrano il voto).
Per quanto riguarda l'IP puoi usare Tor Browser, dentro la configurazione di Tor (file torrc) puoi settare un flag che permette a Tor di connettersi solo a nodi di una determinata nazione, in modo da evitare nodi stranieri, oppure puoi andare ad esclusione (se non ricordo male). Inoltre puoi sfruttare Tor all'interno del tuo script (come proxy SOCKS5) cambiando identità tra una richiesta e l'altra usando il comando SIGNAL NEWNYM (da "scrivere" nel socket aperto con Tor). Il comando SIGNAL NEWNYM è mezzo sballato nel caso mio, io lo usai con PHP e aggiornava l'identità (cambio IP, cookie ecc) in più di 30-40 secondi, purtroppo online non si trovano soluzioni e devi sbatterci un po' la testa oppure aprire una domanda su StackOverflow aspettando che qualcuno con lo stesso problema l'abbia risolto.
Detto ciò credo di aver detto tutto. Se hai dubbi scrivi pure.