Mysql
 sql >> Database >  >> RDS >> Mysql

Lista nera IP in PHP+MySQL

La seguente query non deve essere eseguita regolarmente e potrebbe essere spostata in un processo cron:

DELETE FROM failures WHERE release_time < ?;

Questa query "booleana" restituirà 1 se la persona è nella lista nera, 0 altrimenti:

SELECT
  COUNT(ip_address) as blacklisted
FROM blacklist
WHERE
  ip_address = ? AND
  release_time > ? AND
  failures > 5

Potrebbe accelerare le cose poiché non usi PHP per contare le righe e confrontare i numeri:

if ($row['blacklisted']) { /* ... */ }

Non credo che tu possa davvero evitare l'ultimo.