Bueno, por defecto cada vez que usted está tratando con un POST forma, y luego el usuario golpea en la espalda y luego actualice a continuación, van a ver el mensaje que indica que el navegador se vuelve a presentar los datos. Pero si la página está configurada para caducar inmediatamente, entonces ni siquiera tendrán que presionar actualizar y verán que la página ha caducado cuando devuelven el mensaje.
para evitar tanto los mensajes hay un par de cosas para probar:
1) utiliza un formulario GET lugar. Depende de lo que esté haciendo, pero esta no siempre es una buena solución ya que todavía hay restricciones de tamaño en una solicitud GET. Y la información se transmite en la cadena de consulta, que no es la opción más segura.
- o -
2) Realizar una del lado del servidor redirigir a una página diferente después de la forma POST.
Parece una pregunta similar fue respondida aquí:
Redirect with a 303 after POST to avoid "Webpage has expired": Will it work if there are more bytes than a GET request can handle?
Como tercera opción se podría evitar que un usuario que se remonta en su navegador en absoluto. La única vez que sentí la necesidad de hacer esto fue para evitar que hagan algo estúpido, como pagar dos veces. Aunque hay mejores métodos del lado del servidor para manejar eso. Si su sitio utiliza sesiones, puede evitar que paguen dos veces deshabilitando primero el caché en la página de pago y configurando su caducidad inmediatamente. Y luego puede utilizar una bandera de algún tipo almacenada en una sesión que realmente cambiará el comportamiento de la página si regresa a ella.
mejor sería para diseñar su aplicación para que el botón de retroceso tenga un significado razonable. Me resulta exasperante cuando no estoy 'permitido' usar el botón Atrás. – Peter
Peter, estoy de acuerdo. Hay momentos (como el proceso de finalización de la compra de un sitio de comercio electrónico) en los que puede verse tentado a evitar que el usuario regrese. Sin embargo, hay una mejor solución en el lado del servidor para ese problema que sugiero en mi respuesta. –
@Peter, estoy completamente de acuerdo, pero estoy tratando con flujos de trabajo, por lo que el botón Atrás no se aplica aquí. – mkoryak