Limita la dimensione del file di caricamento e reindirizza l'utente alla pagina di errore se il limite supera


9

È possibile reindirizzare l'utente alla file too bigpagina del file

quando la dimensione della richiesta POST supera il limite specificato?

Sono a conoscenza dell'opzione di dimensione massima richiesta, ma fornisce solo una pagina statica che non può essere sovraccaricata.

Sto pensando di creare una regola di riscrittura che prende

dimensione del contenuto dal corpo della richiesta come input e reindirizza alla pagina di errore

AGGIORNARE

ora usiamo nginx come front-end. Qualche nuovo suggerimento?

Risposte:


19

Dovresti essere in grado di farlo usando qualcosa come:

server {
  server_name example.com;

  client_max_body_size 10m; # or whatever size limit you want
  error_page 413 /custompage.html; # you can also use a named location here if you like
}

ma questo non funzionerà con la maggior parte dei browser moderni - sfortunatamente non riescono a gestire correttamente il 413. Quindi, temo non ci sia soluzione a questo problema (beh, a meno che non sia possibile patchare tutti i browser attuali)
camper

7
È possibile modificare il codice di stato in qualsiasi altra cosa con error_page se non si desidera effettivamente restituire 413 al client. pagina_errore 413 = 403 /custompage.html; utilizzerà 403, ad esempio.
kolbyjack,

3

Non dimenticare di impostare post_max_sizee il upload_max_filesizevalore corrispondente in php.ini.


Non siamo al php.
Jonny

0

Per quanto riguarda il post @quanta, puoi anche inserire un valore più basso in php e usare php per visualizzare l'errore ed effettuare il reindirizzamento correttamente. Può essere realizzato anche in altri linguaggi di scripting :-)


Non ho menzionato il nostro stack lato server. PHP <> tutto il mondo :)
Jonny
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.