Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czarna lista IP w PHP+MySQL

Następujące zapytanie nie musi być wykonywane regularnie i może zostać przeniesione do zadania cron:

DELETE FROM failures WHERE release_time < ?;

To "boolowskie" zapytanie zwróci 1, jeśli osoba jest na czarnej liście, 0 w przeciwnym razie:

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

Może to przyspieszyć, ponieważ nie używasz PHP do liczenia wierszy i porównywania liczb:

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

Nie sądzę, że można naprawdę uniknąć tego ostatniego.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak sortować wiersze tabeli HTML, które są wywoływane z MySQL

  2. dziwne znaki, takie jak ‪ ‬ ‏

  3. Tablica ogłoszeń - Optymalizacja bazy danych

  4. Wykonaj WHERE ID IN z podzapytaniem, które zwraca ciąg identyfikatorów

  5. Oblicza różnicę między dwiema datami w PHP