scusami se mi permetto, ma ci sono svariati errori:
- la tabella contiene 2 campi, su 3, strutturati male: l'ip può avere una dimensione massima di 15 caratteri, ma di solito conviene conservarlo nella sua forma numerica, ovvero di un INT mentre l'ultimo campo, il time, dovrebbe diventare un INT dato che penso che lo script non verrà usato per più di qualche centinaio d'anni di fila ed in questo modo consuma il doppio dello spazio stressando tremendamente il processore per le operazioni. Inoltre facendo in questo modo la tabella diventerebbe di tipo FIXED aumentando TREMENDAMENTE le performance

- nella tabella manca una chiave primaria, qualcosa di essenziale, che potrebbe benissimo essere il campo TIME o il campo IP

- il codice avvia una nuova connessione ... sarebbe molto meglio verificare se c'è ne una attiva ed usare quella in modo evitare carico inutile

- getenv e qualche migliaio di volte più lento dell'utilizzo diretto della variabile $_SERVER, sotto stress è sconsigliato usarlo

- i parametri di controllo sono hard-coded, anche se è facile cambiarli non tutti ne sono capaci, metterli esterni sarebbe una cosa molto buona

- l'eliminazione automatica a 7 giorni la eliminerei o comunque la aumenterei a tipo 1 mese o di più

- nella tabella aggiungerei un sicuramente 2/3 campi, ovvero l'url corrente, i parametri spediti in POST (quelli get sono già presenti nella url) ed infine i COOKIE.

- convertirei le query di controllo usando il COUNT dato che a te non interessa avere effettivamente il contenuto ma solo il conteggio

- infine, per renderlo più sicuro, aggiungere un flag per indicare la riuscita, o meno, del login, in modo da fargli stabilire se è riuscito o meno l'operazione, e che se quindi deve incrementare o resettare il contatore, in base a questa informazione

per il resto non ho altro da dire