Pages : 1
#1 Le 27/01/2019, à 21:21
- Anard
PHP : header HTTP renvoie une page blanche
Bonjour,
Je suis en train de mettre en place un site web.
Pour le moment uniquement en local le temps de mettre toutes les redirections nécessaires et de vérifier que tout fonctionne.
Pour le moment, j'ai un htaccess avec les commandes ErrorDocument suivies de quelques redirections du ModRewrite.
J'ai essayé d'aller vers une page inexistante et ma page d'erreur 404 est correctement affichée.
Maintenant, avant de pouvoir mettre mes premières pages en ligne, je voudrais pouvoir imposer une erreur 503 sur les page encore en construction.
Sur ces pages, j'indique donc :
<?php
header('HTTP/1.1 503');
header("Retry-After: 86400"); // 86400s = 1j
?>
Malheureusement, ça ne fonctionne pas, je n'obtiens qu'une page blanche.
Si je fais ceci, ça fonctionne, mais c'est moins propre...
header('Location: erreur503.html');
J'ai essayé d'envoyer plutôt HTTP/1.1 404 pour vérifier, puisqu'une erreur 404 non-envoyée depuis header fonctionne. Eh bien ça fait pareil : une page blanche.
J'ai été vérifier dans Firefox dans Développement Web -> Réseau et il voit bien le statut que je lui demande dans les deux cas.
Juste, il ne redirige plus vers mon ErrorDocument...
Savez-vous ce qui se passe ?
Au final, j'aimerais mettre un code du style
<?php
$developpers_ips = array('xxx.xxx.xxx.xxx', 'yyy.yyy.yyy.yyy');
if (!in_array($_SERVER['REMOTE_ADDR'], $developpers_ips)) {
header('HTTP/1.1 503');
header("Retry-After: 86400"); // 86400s = 1j
exit();
} ?>
<!DOCTYPE html>
//// PAGE EN DEVELOPPEMENT
Je ne sais pas si ça pourrait fonctionner, mais déjà, j'aimerais juste qu'il m'affiche mon ErrorDocument plutôt qu'une page blanche quand je lui renvoie une erreur par php...
Merci pour votre aide.
Dernière modification par Anard (Le 27/01/2019, à 21:29)
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce
Hors ligne
#2 Le 27/01/2019, à 23:38
- HP
Hors ligne
#3 Le 27/01/2019, à 23:39
- Anard
Re : PHP : header HTTP renvoie une page blanche
Mouarf ! big_smile roll
J'ai dit quoi comme connerie ?
PS : Je viens de voir qu'il y avait un forum "Serveurs : Apache, MySql, PHP". Ma question serait probablement plus adaptée là-bas...
Si un modo passe par ici, ce serait possible de le déplacer ?
Merci.
Dernière modification par Anard (Le 27/01/2019, à 23:43)
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce
Hors ligne
#4 Le 27/01/2019, à 23:47
- krodelabestiole
Re : PHP : header HTTP renvoie une page blanche
le truc c'est qu'en indiquant manuellement un code d'erreur dans un entête, tu ne déclenches pas réellement une erreur apache, tu envoies juste ce code au navigateur, et donc c'est le message d'erreur par défaut de ton navigateur qui est affiché... (et aucune erreur n'apparaîtra dans les logs)
donc de la même manière il faut que tu gères tes redirections vers les pages d'erreur manuellement en php.
après c'est typiquement le problème qu'on ne se pose pas quand on utilise un framework, d'où l'intérêt du truc : ne pas réinventer la roue. après ça peut avoir une visée pédagogique...
Dernière modification par krodelabestiole (Le 27/01/2019, à 23:56)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#5 Le 27/01/2019, à 23:48
- krodelabestiole
Re : PHP : header HTTP renvoie une page blanche
modération : déplacement de Développement et programmation vers Serveurs
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#6 Le 28/01/2019, à 00:13
- Anard
Re : PHP : header HTTP renvoie une page blanche
Merci.
Je ne suis pas du tout un pro. J'avoue que je ne connais que cette technique (header PHP) pour imposer un code erreur... Avec Apache, je galère particulièrement
C'est aussi que la méthode me paraissait simple puisque je n'avais qu'un fichier php à inclure en haut d'une page en maintenance pour à la fois conserver l'accès pour le développement, envoyer le bon code erreur aux autres (pas un "deny from all") et rediriger vers une page personnalisée.
Malheureusement, cette dernière focntion ne fonctionne donc pas
Du coup, si on peut faire encore plus simple avec Apache, ça m'intéresse.
Dernière modification par Anard (Le 28/01/2019, à 00:14)
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce
Hors ligne
#7 Le 28/01/2019, à 00:39
- Anard
Re : PHP : header HTTP renvoie une page blanche
OK je me répond (en tout cas ça semble fonctionner).
A la racine d'un chapitre en maintenance, je peux placer ce .htaccess
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx$
RewriteCond %{REMOTE_ADDR} !^yyy\.yyy\.yyy\.yyy$
RewriteRule (.*) [R=503]
RewriteRule peut aussi indiquer une page plutôt que tout le dossier suivant le cas.
N'hésitez pas à me dire si je m'y prends mal ou s'il y aurait plus simple/pratique à l'usage.
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce
Hors ligne
#8 Le 28/01/2019, à 00:48
- krodelabestiole
Re : PHP : header HTTP renvoie une page blanche
pour un deny sur des permissions ça serait plutôt une 403.
plus simple ou moins simple je sais pas, ça dépend de ce que tu veux faire.
tu peux rediriger n'importe quoi sur une 403 par ex. aussi bien avec mod_rewrite qu'avec des directives redirect ou redirectmatch.
mais à mon avis si tu veux indiquer des messages personnalisés en gardant l'aspect de ton site, le menu, et en ayant une gestion plus fine des droits en fonctions de paramètres précis (identification), c'est sûrement plus simple de gérer ça en php...
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#9 Le 28/01/2019, à 01:14
- Anard
Re : PHP : header HTTP renvoie une page blanche
Merci.
Je veux garder un accès pour certaines personnes dont je connais l'IP (et qui participent à la création du site, ou bien d'où je serais amené à travailler). Donc je n'ai pas vraiment besoin de pouvoir s'identifier.
Le Deny ne me convient pas puisqu'il y a un risque qu les robots arrêtent de visiter la page. Un code 503 me semble plus approprié en cas de maintenance.
En gros, je trouve plus propre de travailler directement sur le serveur Apache puisque ça touche directement à l'accès au site et que les ErrorDocument sont déjà paramétrés.
Mais j'ai plus l'habitude de manipuler du code PHP. Il est aussi un peu plus bavard quand il renontre une erreur (plus simple à débugguer).
Donc entre les 2 solutions, mon coeur balance
Pour en revenir à ça, la seule fois que j'ai essayé un framework, j'ai pris peur en voyant le code HTML généré, du style :
<div style="font-size: 15px;"><span style="font-size: 12px;"><span style="font-size: 14px;"><span style="font-size: 13px;">Blablabla</span></span></span></div>
Don non, même si c'est parfois plus long, je préfère comprendre ce que j'écris et pourquoi je l'écris d'une manière plutôt que d'une autre plutôt que de faire confiance à un logiciel...
Dernière modification par Anard (Le 28/01/2019, à 01:17)
"iMack" : GA-H97M-D3H, Intel i5 4460, 16Go DDR3, Intel HD4600, SSD 256+120 / Bootloader Clover - macOS Mojave / Gentoo-Xfce
"Portable" : HP Pavilion DV3500, Intel T6400, 4Go, HDD 500Go / Grub2 - Gentoo-Xfce
Hors ligne
#10 Le 28/01/2019, à 01:54
- krodelabestiole
Re : PHP : header HTTP renvoie une page blanche
il a l'air dégueulasse ton framework effectivement. mais bon les questions de styles et de html sont généralement assez indépendantes du framework php.
si tu cherches un truc léger regarde slim ou lumen. pour un truc très complet cakephp ou laravel.
même si ça a l'air plus "pro" je pense qu'un débutant aura plus de chances de creer une application plus sécurisée, moins usine à gaz, et en moins de temps. bon après ça dépend de la complexité du projet.
Dernière modification par krodelabestiole (Le 28/01/2019, à 04:43)
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
#11 Le 28/01/2019, à 01:55
- krodelabestiole
Re : PHP : header HTTP renvoie une page blanche
et si besoin grafikart fait des super tutos en français sur ces outils : https://www.youtube.com/watch?v=9_4lxnUyJLE
nouveau forum ubuntu-fr on en parle là : refonte du site / nouveau design
profil - sujets récurrents - sources du site
Hors ligne
Pages : 1