Necesito gestionar las solicitudes de mi sitio web. Debido a que ambos necesito detectar solicitudes sospechosas y bloquear esa IP y calcular el número de usuarios que visitan mi sitio web.
Así que he creado una tabla como esta:
// 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 |
+----+----------------+-------------+
Y inserto una nueva fila en esa tabla para cada solicitud (abrir cada página de mi sitio web significa una solicitud) .
Y aquí está mi consulta en el index.php
: ( index.php
es una página que todas las páginas pasan de ella)
INSERT INTO requests (id, UserId_or_IP, unix_time)
VALUES (NULL, :id_or_ip, UNIX_TIME());
Todo lo que necesito saber: ¿Lo que estoy haciendo es correcto o hay un mejor enfoque para controlar las solicitudes? Como saben, esa consulta hace que mi página web sea lenta (un poco) , porque hay una consulta INSERT
antes de cargar cada página. Bien ha valido la pena? De hecho, estoy tratando de entender cuál es la forma estándar de hacerlo.