horse icon indicating copy to clipboard operation
horse copied to clipboard

(Delphi) - Como eu obtenho o IP da pessoa qual realizou a requisição?

Open lotexiu opened this issue 1 year ago • 4 comments

Eu estou começando a usar o Horse e estou aprendendo ao poucos como utilizar e queria descobrir o ip de quem realizou a requisição para estar gerando Logs e dependendo estar bloqueando a requisição caso seja alguem com intenções maliciosas.

lotexiu avatar Oct 11 '24 21:10 lotexiu

Estou peguntando aqui como issue pois é mais facil de alguem ver e não cheguei a encontrar uma discussão falando sobre

lotexiu avatar Oct 11 '24 22:10 lotexiu

Boa Noite Colega,

Existe um Middleware que pode te ajudar a obter o IP da requisição porem, acredito que o controle de acesso a API deva ser realizado com o controle de autorizações BasicAutentication ou JWTAutentication.

Utilizando destes controles vc pode limitar o acesso a API por usuário / senha e posteriormente por prazo de uso colocando limite de tempo na utilização do Token.

Caso precise de alguma ajuda fico a disposição.

aoshiminamoto avatar Oct 12 '24 02:10 aoshiminamoto

@aoshiminamoto

Boa Noite Colega,

Existe um Middleware que pode te ajudar a obter o IP da requisição porem, acredito que o controle de acesso a API deva ser realizado com o controle de autorizações BasicAutentication ou JWTAutentication.

Utilizando destes controles vc pode limitar o acesso a API por usuário / senha e posteriormente por prazo de uso colocando limite de tempo na utilização do Token.

Caso precise de alguma ajuda fico a disposição.

Então, eu já contenho uma estrutura criada própria para Token qual ajuda bastante, porem a minha API contém requisições publicas (não exige Token). Por mais que essas requisições não tem nenhum problema de pessoas realizarem a requisição, eu quero bloquear conexões com ip cujo chegam a ter um comportamento estranho. por exemplo caso a gente tem uma requisição que gera e retorna o token, mas você precisa citar o usuario e senha caso eu não tenha um sistema de bloquear ip, não serei capaz de evitar as tentativas de acesso frequente. Caso eu tivesse, eu posso limitar o numero de tentativas de login e bloquear o ip caso o numero de tentativas excede o limite

Bem, irei verificar sobre o JWT/Basic (Autentication). Logo entrarei em contato novamente em caso de duvidas, mas agradeço pela ajuda.

lotexiu avatar Oct 20 '24 23:10 lotexiu

@aoshiminamoto Ah é, por acaso existe um sistema de gerenciamento de memoria de objetos que evite vazamento de memória? atualmente encontrei apenas o que pertence ao JCL (JEDI), mas não é algo que estou procurando exatamente. O que estou a procura seria algo semelhante ao codigo que estou desenvolvendo. Talvez algo no meu repositorio lhe ajude.

https://github.com/lotexiu/HelperLibrary/blob/main/src/generic/UAutoDestroy.pas Lembrando que ainda não esta pronto. tem muitas coisas que estou vendo e desenvolvendo.

lotexiu avatar Oct 20 '24 23:10 lotexiu

https://github.com/dliocode/horse-utils-clientip

viniciussanchez avatar Oct 23 '24 16:10 viniciussanchez