Reindirizzare tutte Apache 2.2 403 Forbidden a 404 Non Trovato

Ho bisogno di reindirizzare tutte le richieste su un server Apache 2.2 per ogni directory che offre un 403 a un 404 not found.

Ex:

  • /xyz o /xyz/ lancia un 403 -> reindirizzare a 404
  • /xyz/sometext.txt restituisce normalmente.

Guardando in giro, mi sono imbattuto in questo post:

Problema reindirizzamento 403 Forbidden a 404 Non Trovato

RedirectMatch 404 ^/include(/?|/.*)$

/include 404 (instead of 403)
/include/404
/include/config.inc 404 (instead of 403)

Tuttavia, l’ultimo caso, anche per questo restituisce un 404. Inoltre, esso interessa solo /include/directory, ero alla ricerca di più per qualsiasi vietato directory. Finora ho:

RedirectMatch 404 ^[\/[\w+]]+\/$

Qualcuno ha un’idea di come realizzare questo? Grazie,

  • Perché non basta usare un ErrorDocument 403 /404.html? E allora si può fare è dire quello che si vuole.
  • Che funziona per il documento finale, ma credo che le intestazioni rimangono ancora 403 s. Così gli attacchi automatizzati, non sarebbe nemmeno essere graduale.
InformationsquelleAutor Tui Popenoe | 2014-03-31



One Reply
  1. 10

    Per tornare 404 not found per qualsiasi richiesta che causa 403 oggi si può fare:

    ErrorDocument 403 /404.php
    

    E poi in /404.php è possibile aggiungere questa riga al ritorno di stato 404 per i clienti:

    <?php
    # your custom 404 content goes here
    
    # now make it return 404 status to browser
    http_response_code(404);
    ?>
    

    Per tornare 404 per tutte le richieste directory fare:

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ - [L,R=404]
    
    • Questo non funziona perché è semplicemente sovrascrivere il 403 documento con un 404, un abile hacker sarebbe ancora in grado di dire la differenza nell’intestazione della risposta.
    • È la risposta a quello che hai chiesto, cioè Redirect all Apache 2.2 403 Forbidden to 404 Not Found. Non c’era alcun dubbio a difendere contro gli attacchi etc. Come un utente malintenzionato dovrebbe sapere la differenza solo guardando intestazione di risposta che è di ritorno status=404 e presentazione dei contenuti, che è un 404 personalizzata documento. Se è chiarire ulteriormente il significato esatto comportamento che si desidera da questo 404/403 movimentazione posso provare indirizzo di preoccupazione.
    • In sostanza, utilizzare un’espressione regolare per sostituire tutti 403 risposta con 404 sul server Apache, non solo di sostituire il documento di errore. Se ti basta sostituire il documento di errore, l’intestazione ancora rivelare che la risorsa è vietato.
    • No che non è corretto. Leggi la mia risposta di nuovo. Sostituzione di documento di errore, è solo una parte. È anche la sostituzione codice di stato per 404 utilizzando http_response_code(404); in modo che un client non potrà mai arrivare a sapere che era originariamente 403.
    • Che utilizza php in particolare. Mi sto chiedendo circa reindirizzamento usando il .htcaccess file.
    • Beh, la regola di riscrittura sopra indicato è di ritorno 404 via htaccess solo per le directory. Primo frammento è uso di PHP, dal momento che si vuole richiamare una maniglia su ordinazione per errore 403 prima e poi impostare il codice di stato http 404 dopo.
    • Usando il tuo .htaccess alterazioni ottengo: Internal Server Error per eventuali richieste di pagina in qualsiasi posizione, se esistano o meno.
    • Controlla il tuo errore di Apache.registro che
    • Errore: [Gio Giu 18 19:54:16.436410 2015] [core:avviso] [pid 4964:tid 804] [client 127.0.0.1:57477] C:/~zac~/.htaccess: comando non Valido ‘RewriteEngine’, forse errata o definita da un modulo non incluso nella configurazione del server
    • Il mio problema era WAMP è la riscrittura del modulo disabilitato per impostazione predefinita, per chi viene qui in futuro!
    • Hmm un altro problema, che utilizza questo provoca l’accesso al mio css per segnalare 404? È memorizzato all’interno di css/main.css per quello che ne vale la pena?
    • Siamo in grado di risolvere nuovi problemi utilizzando i commenti. Aprire una nuova domanda con tutti i dettagli e partecipare.

Lascia un commento