sql >> Databáze >  >> RDS >> Mysql

IP Blacklist v PHP+MySQL

Následující dotaz není nutné spouštět pravidelně a lze jej přesunout do úlohy cron:

DELETE FROM failures WHERE release_time < ?;

Tento „booleovský“ dotaz vrátí 1, pokud je osoba na černé listině, v opačném případě 0:

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

Mohlo by to urychlit, protože nepoužíváte PHP k počítání řádků a porovnávání čísel:

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

Myslím, že tomu poslednímu se opravdu nevyhnete.




  1. Změňte barvu písma komentáře v dotazu MySQL Workbench

  2. Vytvoření databáze programově v SQL Server

  3. Co je "rowversion" v SQL Server?

  4. Funkce hodnocení v MySQL pomocí klauzule Order By