Come posso controllare tutte le richieste del mio sito web? [chiuso]

1

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.

    
posta stack 21.06.2016 - 11:14
fonte

1 risposta

3

In fact I'm trying to understand what's the standard way for doing that.

Su un server Web configurato correttamente, il server Web registrerà tutte le richieste ricevute in un file di registro (il contenuto esatto di questo file di registro è solitamente più o meno configurabile, a seconda del software server utilizzato). Esistono anche mezzi standard per centralizzare i log se vuoi che syslog ti permetta di archiviare e analizzare i log una macchina diversa.

Il contenuto di questo registro può quindi essere analizzato da un software esterno per:

  • Genera statistiche, ci sono molti software di monitoraggio in base al tuo software e ai tuoi bisogni,
  • Rileva comportamenti sospetti, qui cercherai il software IDS / IPS, a seconda se hai bisogno di Solo rilevamento (IDS) o Protezione (IPS). Fail2Ban per esempio è un classico esempio di tale software per piattaforme Linux / Unix: controllerà il tuo log del server file, rilevare comportamenti sospetti in base ad alcune regole e attivare facoltativamente un'azione (inviare un'e-mail di avviso o aggiornare le regole del firewall per vietare l'autore del reato, ad esempio).

Non l'hai chiesto nella tua domanda, ma parlando di pratica standard, in genere i log vengono anche analizzati per analizzare lo stato del software del server e rilevare possibili problemi e interruzioni. Per quanto riguarda IDS / IPS, hai la possibilità di avere un semplice rilevamento & sistema di allerta o azioni automatiche.

Con questo, statistiche di utilizzo + statistiche sulla salute + problemi di sicurezza, ottieni una visione abbastanza completa dell'attività del tuo server.

    
risposta data 21.06.2016 - 14:48
fonte

Leggi altre domande sui tag