Devo gestire le richieste del mio sito web. A causa di entrambi, devo rilevare le richieste sospette e bloccare l'IP e calcolare il numero di utenti che visitano il mio sito Web.
Quindi ho creato una tabella come questa:
// requests
+----+----------------+-------------+
| id | UserId_or_IP | unix_time |
+----+----------------+-------------+
| 1 | 12353 | 1339412843 |
| 2 | 23353 | 1339412864 |
| 3 | 178.253.29.175 | 1339412894 |
| 4 | 3422 | 1339412899 |
| 5 | 342232 | 1339412906 |
| 6 | 2353 | 1339412906 |
| 7 | 7785 | 1339412951 |
| 8 | 148.23.29.109 | 1339413640 |
| 9 | 178.253.29.175 | 1339413621 |
| 10 | 5462 | 1339414490 |
| 11 | 342232 | 1339414923 |
| 12 | 178.253.29.175 | 1339419901 |
| 13 | 8007 | 1339424860 |
| 14 | 8007 | 1339424822 |
| 15 | 2353 | 1339424902 |
+----+----------------+-------------+
E inserisco una nuova riga in quella tabella per ogni richiesta (aprire ogni pagina del mio sito web significa una richiesta) .
Ed ecco la mia query in index.php
: ( index.php
è una pagina che tutte le pagine passano da esso)
INSERT INTO requests (id, UserId_or_IP, unix_time)
VALUES (NULL, :id_or_ip, UNIX_TIME());
Tutto quello che devo sapere: quello che sto facendo è corretto o c'è un approccio migliore per controllare le richieste? Come sai, questa query rende il caricamento (un po ') lento della pagina web, perché c'è una query INSERT
prima di caricare ogni pagina. Ne vale la pena? In effetti sto cercando di capire qual è il modo standard per farlo.