ver tienes successful solucionar significa que página para not google forbidden flvto esta error como code chrome check celular autorización php header http-status-code-403

php - tienes - Emular una página de error 403



http error 403 drive (12)

.htaccess

ErrorDocument 403 /403.html

Sé que puedes enviar un encabezado que le dice al navegador que esta página está prohibida como:

header(''HTTP/1.0 403 Forbidden'');

Pero, ¿cómo puedo también mostrar la página de error personalizada que se ha creado en el servidor para este tipo de error?

De manera predeterminada, solo al enviar el encabezado aparece una página en blanco, pero recuerdo hace tiempo que puede usar la página de error del cliente. ¿Alguien sabe?


Actualiza la página después de enviar el 403:

<?php header(''HTTP/1.0 403 Forbidden''); ?> <html><head> <meta http-equiv="refresh" content="0;URL=http://my.error.page"> </head><body></body></html>


Alex, puedes redirigir a tu página personalizada usando un encabezado como este:

header(''Location: my403page.html'');

Y asegúrese de que en su página 403 incluya su código de encabezado original:

header(''HTTP/1.0 403 Forbidden'');

Alternativamente, puede crear el encabezado e incluir la página 403 de la siguiente manera:

header(''HTTP/1.0 403 Forbidden''); include(''my403page.html'');


Entiendo que tiene un escenario con ErrorDocument ya definido dentro de su apache conf o .htaccess y desea hacer que esas páginas aparezcan al enviar manualmente un código de estado 4xx a través de php.

Desafortunadamente, esto no es posible con métodos comunes porque php envía el encabezado directamente al navegador del usuario (no al servidor web Apache), mientras que ErrorDocument es un controlador de pantalla para el estado http generado por Apache.


He leído todas las respuestas aquí y ninguna de ellas fue una respuesta completa para mi situación (que es exactamente lo mismo en esta pregunta) así que aquí es cómo reuní algunas partes de las respuestas sugeridas y se me ocurrió la solución exacta:

  1. Aterrice en la página real de su servidor 403. (Vaya a una URL prohibida en su servidor, o vaya a cualquier página 403 que desee)
  2. Haga clic derecho y seleccione ''ver fuente''. Seleccione toda la fuente y guárdela en el archivo de su dominio como: http://domain.com/403.html
  3. ahora ve a tu página real prohibida (o una situación prohibida en alguna parte de tu php) ejemplo: http://domain.com/members/this_is_forbidden.php
  4. repite este código a continuación antes de cualquier salida HTML o encabezado! (incluso un espacio en blanco causará que PHP envíe el encabezado HTML / TEXT HTTP y no funcionará) ¡El siguiente código debe ser su primera línea !

    <?php header(''HTTP/1.0 403 Forbidden''); $contents = file_get_contents(''/home/your_account/public_html/domain.com/403.html'', TRUE); exit($contents);

Ahora tienes la solución exacta. Verifiqué y verifiqué con CPANEL Últimos visitantes y está registrado como evento 403 exacto.


Incluya la página de error personalizada después de cambiar el encabezado.


Para esto, primero debe decir para el navegador que el usuario recibe un error 403. Para esto, puede usar este código:

header("HTTP/1.1 403 Forbidden" );

Luego, el script envía "error, error, error, error, error .......", por lo que debe detenerlo. Puedes usar

exit;

Con estas dos líneas, el servidor envía un error y detiene el script.

No lo olvide: emule el error, pero debe configurarlo en un archivo .htaccess, con

ErrorDocument 403 /error403.php


Para minimizar el deber del servidor, hágalo simple:

.htaccess

ErrorDocument 403 "Forbidden"

PHP

header(''HTTP/1.0 403 Forbidden''); die(); // or your message: die(''Forbidden'');


Simplemente haga eco de su contenido después de enviar el encabezado.

header(''HTTP/1.0 403 Forbidden''); echo ''You are forbidden!'';


Use ModRewrite:

RewriteRule ^403.html$ - [F]

Solo asegúrese de crear un documento en blanco llamado "403.html" en su www raíz o obtendrá un error 404 en lugar de 403.


Visto muchas de las respuestas, pero la correcta es proporcionar todas las opciones para la llamada a la función de encabezado según el manual php

void header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Si invocas con

header(''HTTP/1.0 403 Forbidden'', true, 403);

el comportamiento normal de HTTP 403 configurado con Apache o cualquier otro servidor seguiría.


http_response_code se introdujo en PHP 5.4 e hizo las cosas mucho más fáciles.

http_response_code(403); die(''Forbidden'');