esa siempre es una opcion si alguien no modifica el paquete y cambia el IP, no le va a llegar el trafico de vuelta pero si podria joder
los usuarios del api son conocidos de antemano? (se podría pasar un token, como dice @bheru27, aunque mandar un toque se considera auth en su sentido más amplio)
*token
pregunta, por qué no se puede usar auth?
jenkins
No hay usuarios del api, no hay usuarios, y por ende no hay auth.
De nuevo el ejemplo es el endpoint para crear un usuario
Le vas a pedir al usuario que se logee para crear un usuario?
me refiero a usuarios físicos
es decir, si yo hago mi API y sé que vos y dos personas más son los únicos que lo van a usar
les mando un token por correo con GPG
y con eso se autentica contra el API, incluso para crear sus usuarios
jenkins
Ajam, pero el registro es abierto
Pero usted lo hace con un post desde cierto lugar, entonces ya sabe ciertas cosas para el filtro
en ese caso, lo único que se me ocurre es filtrar comportamientos extraños, creo que no hay de otra
(p.e. cantidad de requests/segundo)
jenkins
Dominio? En el header ‘Origin’?
Y ese limiting, lo haces por IP?
por IP sería lo más simple, pero se puede poner más complejo si es necesario (para evitar falsos positivos con mucha gente detrás de un NAT)
por ejemplo, sacar un fingerprint de IP + propiedades propias del request
jenkins
Por ejemplo?
se me ocurría el header de user agent, pero es trivial cambiarlo y hacer que ya el fingerprint no matchee
ud prodria setiarle un cookie basado en el IP del mae y otras cosas, hacer un hash pero eso serviria para identificarlo
tendría que ser algo que varíe según el cliente que estoy usando, pero que sea difícil cambiarlo programaticamente
mae tienen que ser varias cosas y no decir que es y meterle un hash
si, pero aún así… si yo fuera unatacante
lo primero que pruebo es cambiar el user agent cuando mando el request
tons ese no puede ser uno de los campos
y si, cuando decía fingerprint me refería a un hash de varios campos
si, claro por que mete otros
ix ix
y apenas veo que con otro user agent todo bien, randomizo ese campo en mis requests
pero eso le serviria para identificar, y para algo mas?
y listo, ya puedo hacer cuantos reqs me de la gana