Как защититься от редактирования js?
Никак. Любые данные полученные от пользователя могут быть подменены. Получение IP адреса делается на сервере который точно знает откуда на самом деле пришел запрос.
Возьмут, скажем, поставят ip неизвестно кого и как тогда "поймать" самозванца?
А еще это можно организовать на сетевом уровне, скажем через прокси.
А еще у некоторых пользователей (например тех кто сидят через 3G или публичные wifi сети) ip динамический.Также могут зациклить отправку данных, создать нагрузку на сервер
С одной машины - не серьезно. В любом случае есть rate-limit и это дело можно настроить в nginx. В случае с прокси или распределенной атакой не поможет.