Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como uso um script baseado em PHP/MySQL para banir blocos de IP de um site?


Por que não usar máscaras de rede ?
  • 192.168.1.0/24 blocos 192.168.1.0 - 182.168.1.255
  • 1.0.0.0/8 blocos 1.0.0.0 - 1.255.255.255

Você só precisa de 5 bytes para endereços IPv4 dessa maneira. Se você quiser ser habilidoso com seu mascaramento, faça 8 bytes.

Isso tem o bônus de fazer comparações muito rápidas, simplesmente fazendo OR da máscara com o IP. É assim que o roteamento IP funciona.

Além disso, você pode usar as funções do MySQL INET_NTOA e INET_ATON para converter de um endereço IP formatado por pontos para seu formato numérico e vice-versa, tornando o armazenamento eficiente e fácil de trabalhar.