1) A jaki ktoś może mieć problem by z twojej strony ciągle wysyłać tego ajaxa? Zaden
2)
Cytat
a już tym bardziej "przejechanie" tego skryptu curlem
A jaki problem ten ktoś może miec by wysłać ci to curlem, nawet jeśli to u ciebie jeste ajax? Również żaden.
To co robisz to nie są żadne zabezpieczenia.
Jak chcesz zabezpieczyć skrypte przed multigłosowaniem to zapisuj np. IP i pisz, że z tego IP już ktoś głosował i koniec. Albo udostępniaj głosowanie tylko dla zalogowanych. Wówczas jeden user bedzie mógł ttylko raz głosować na daną rzecz. Ale tego tak czy siak nie zabezpieczysz a już napewno nie w ten sposób jak ty to robisz bo to żadne zabezpieczenie.
To przeglądarka wysyła nagłówek, że żądanie idzie AJAXem a nie serwer. Skoro więc to robi przeglądarka, to równie dobrze ja ci CURLe mogę wysłać dokładnie to samo i nabijać sobie do woli.