È possibile determinare che una pagina esiste effettivamente quando è progettata per lanciare un 404 NOT FOUND
?
Sul mio server, quando viene fatta una richiesta ad uno script mentre si superano parametri non validi, sto lanciando un codice di stato http 404 perché non voglio che quelli senza conoscenza del sistema sappiano che la pagina (URL pubblico) esiste . Spero che il lancio di un 404 faccia credere a un attaccante che la sceneggiatura non esiste. Nessuna risorsa sul server stesso è diretta direttamente allo script, tutto proviene da richieste esterne.
Quello che voglio veramente sapere è, dalla sola risposta, qualcuno sarebbe in grado di dire la differenza tra una pagina che non esiste e una pagina configurata per restituire un 404?
Le intestazioni di risposta quando si effettua una richiesta non valida allo script indicano un link di 404 e non uno stato http di 200 con una pagina 404 visualizzata.
Di seguito è riportato l'intestazione della risposta che ottengo quando faccio una richiesta non valida.
HTTP/1.1 404 Not Found
Date: Fri, 27 Jan 2017 23:32:28 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
X-Powered-By: PHP/5.4.16
X-XSS-Protection: 1; mode=block
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Modifica Di seguito è riportato l'intestazione della risposta che ottengo quando premo una pagina che non esiste realmente.
HTTP/1.1 404 Not Found
Date: Tue, 31 Jan 2017 19:08:06 GMT
Server: Apache
X-Frame-Options: SAMEORIGIN
Content-Length: 203
Keep-Alive: timeout=5, max=99
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1