Dopo aver visto la discussione PHP, Status Code 500 e 508, hacking&SEO, come impatta la SEO, vediamo un altro caso interessante: creare forzatamente un errore lato server, eventualmente abbinato ad un 404, vediamo come.
Premessa: quanto segue viene fornito a scopo didattico e di ricerca, soprattutto i test effettuati riguardano un piccolo hosting di proprietà. Inutile precisare che sfruttare la cosa per un "attacco a terzi" non è lecito.
Punto centrale: come nella precedente discussione, concentriamoci su questo script Python:
import webbrowser as wb
x='https://www.sito.it/'
for i in range(50):
wb.open(x)
Tramite apertura di 50, 60 volte una scheda (in genere sempre sotto le 100 volte è sufficiente) il server generalmente va incontro ad un errore HTTP 508. Vediamo un fattore di amplificazione: la ricerca sul sito! Studiando il sito web specifico, la ricerca può essere del tipo sito.it/?s=...
, sito.it/q='...'
, sito.it/cerca?s=...
o altro.
Un fattore amplificativo quindi esegue una ricerca nel database, ricerca complessa (più termini da valutare, quindi scorrere più volte righe-colonne per ognuna delle schede aperte, in modo da cercare la corrispondenza!!). La ricerca può avere come target di per sé qualunque pagina del sito, vediamo il caso della pagina 404: questa può essere personalizzata, con frasi del tipo "The page you were looking for does not exist" oppure "non abbiamo trovato articoli corrispondenti alla tua ricerca" o altro ancora, personalizzato. Quindi nell'esempio di prima, come script Python si può fare questa modifica, più "funzionale" allo scopo (massimizzare il consumo di risorse, ovvero ad esempio non occorrono più 50-60 schede per generare errore 5xx ma ne bastano meno):
x='https://www.sito.it/?s=the+page+you+were'
oppure qualunque variante, aggiustata a piacere (che mostri corrispondenza ad una pagina reale oppure alla pagina 404).
Abbiamo visto quindi cosa sono i fattori amplificativi. Con l'errore 508 viene mostrato un messaggio come quello dell'immagine che segue.